亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用LLKM處理網絡通信---對抗IDS、Firewall

2019-11-17 05:35:05
字體:
來源:轉載
供稿:網友

  ★ 前言

事實上我并沒有翻譯Phrack 55-12,它的文字如此之少,當然必須承認其中閃爍
的聰明之光。閱讀lifeline < mailto: arai@hackers-pt.org >的程序,它就在文章
里,然后再來看這篇文章。

★ 目錄

1. IDS、Firewall的某些特性
2. LLKM能做什么
3. 一個完整的LLKM例子,簡單、臨時改變TCP/ip協議棧的行為
4. 獲取TCP自動機狀態,更改出現在網絡傳輸線路上的TCP標志位
5. 另外一種截留本機發送報文、修改、再發送技術
6. 內核模塊里設置混雜模式
7. 內核模塊里文件I/O操作
8. 內核包轉發的討論

★ 正文

1. IDS、Firewall的某些特性

以snort為例,其大量IDS規則對TCP的PSH、ACK、SYN標志進行判定。比如,在
syn-flood告警中,判定短時間內出現的大量SYN包。而更多的對TCP數據區進行內容
鑒別前,判定了PSH+ACK標志。具體snort規則請參看snort源代碼包中舉例。

Firewall阻塞來自外部的TCP連接請求時,需要判定SYN標志。

IDS和Firewall還有個更重要的通性,對端口的敏感性。21、23、110、513等端
口都屬于敏感端口,許多告警規則、阻塞規則是基于端口的。

2. LLKM能做什么

利用LLKM簡單、臨時改變TCP/IP協議棧的行為??紤]三種情況:

a. 更改出現在網絡傳輸線路上的TCP標志位
b. 更改出現在網絡傳輸線路上的端口
c. 對IP數據區(TCP協議部分)加密處理后傳輸



A Host ----+----- firewall -----+---- B Host
(內部) (外部)

C Host(IDS系統) D Host(普通Sniffer)


假設A和B都是我們控制的主機,在這兩臺主機上都加載LLKM。防火墻不答應來自
外部的任何TCP連接請求,它靠的是判定SYN標志。現在B想telnet到A,LLKM將把B到A
的SYN標志換成ACK、PSH、RST、RES1、RES2中的任意一個或者幾個的組合,以能滲透
通過防火墻為原則;A上的LLKM先于正常的TCP/IP協議棧接收到這個扭曲處理了的請
求報文,按照約定好的規則逆向處理,恢復SYN標志后再交給正常的TCP/IP協議棧處
理。同樣,A回送SYN+ACK到B的時候,也做一些轉換,B上LLKM會恢復成正常的
SYN+ACK。對于A、B上的TCP/IP協議棧,它們意識不到發生過轉換,用netstat -na看
到的還是正常的、意料中的狀態。對于防火墻,意識不到已經從外部主機成功訪問了
內部主機。對于C、D,會看到希奇的TCP標志出現。在做標志轉換時,還需要考慮對
抗IDS規則,因具體情況而定。比如,避免在網絡傳輸中出現PSH+ACK標志。

防火墻和IDS對端口相當敏感,比如不答應telnet、FTP協議通過,只答應http協
議通過。要做的僅僅是讓A、B把23端口換成80端口出現在網絡傳輸中??赡苡腥苏J為
修改雙方的/etc/services文件更好些,當然,那也是一種可行的考慮。不過有太多
情況下利用LLKM動態修改端口更徹底更靈活。至于IDS,對于大多數非周知端口并不
敏感,意味著逃脫了監測。

最后要做的就是對IP數據區進行加密傳輸,IPSec能做到,可我需要的可能僅僅
是異或處理,僅僅是避開IDS的端口監測、內容監測。一個簡單的insmod就能完成的
任務為什么一定要搬出IPSec呢。

3. 一個完整的LLKM例子,簡單、臨時改變TCP/IP協議棧的行為

例子程序的想法來自華中地區網絡中心(bbs.whnet.edu.cn)Security版的
difeijing朋友,同時感謝AngelFalls朋友參與該版討論,并提供了八篇謝絕轉站的
<<linux的TCP/IP協議棧閱讀筆記>>。

程序演示了

a. LLKM的基本框架和技巧
b. 利用dev_add_pack()對本機即將發送出去的報文進行修改再發送

syn半開掃描依靠于被掃描主機返回ACK+RST標志和ACK+SYN標志兩種情況,前者
意味著相應端口未開。connect掃描則完全依靠TCP連接的成功建立。difeijing提出

了這樣一個想法,利用LLKM轉換ACK+RST成ACK+SYN,此時syn半開掃描和connect掃描
都將認定相應端口是打開的。

--------------------------------------------------------------------------
/*
* File : openallport.c
* Author : scz < mailto: scz@nsfocus.com >
* : http://www.nsfocus.com
* Kernel : 2.2.16 or 2.2.14
* Complie : gcc -O3 -DMODULE -D__KERNEL__ -c openallport.c
* Usage : insmod openallport.o [dev=eth0] -x -y -f
* Date : 2000-10-10 17:40
*/

#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/netdevice.h>
#include <linux/if_ether.h>
#include <linux/if_packet.h>
#include <linux/skbuff.h>
#include <linux/ip.h>
#include <linux/tcp.h>

/*
* 2.2.16內核的/usr/include/linux/version.h文件里定義了這個宏
* 但2.0.35內核里沒有定義
*/
#ifndef KERNEL_VERSION
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif

#if LINUX_VERSION_CODE > KERNEL_VERSION(2,2,0)
#include <asm/uaccess.h>
#endif

static strUCt device * openallport_dev = NULL;
static char * dev = NULL;

/* 定義insmod命令行參數 */
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,2,0)
MODULE_PARM( dev, "s" );
#endif

static inline u_long csum_tcpudp_nofold ( u_long saddr, u_long daddr,
u_short len, u_short PRoto,
unsigned int sum )
{
__asm__
("
addl %1, %0
adcl %2, %0
adcl %3, %0
adcl $0, %0
"
: "=r" ( sum )
: "g" ( daddr ), "g" ( saddr ), "g" ( ( ntohs( len ) << 16 ) + proto * 256 ), "0" ( sum )
);
return sum;
}

static inline unsigned int csum_fold ( unsigned int sum )
{
__asm__
("
addl %1, %0
adcl $0xffff, %0
"
: "=r" ( sum )
: "r" ( sum << 16 ), "0" ( sum & 0xffff0000 )
);
return( ( ~sum ) >> 16 );
} /* end of csum_fold */

static inline u_short check_tcpudp ( u_long saddr, u_long daddr,
u_short len, u_short proto,
unsigned int sum )
{
return( csum_fold( csum_tcpudp_nofold( saddr, daddr, len, proto, sum ) ) );
} /* end of check_tcpudp */

int openallport_rcv ( struct sk_buff * skb, struct device * dv, struct packet_type * pt )

{
/* 注重pkt_type是什么 */
if ( ( skb->pkt_type == PACKET_OUTGOING ) && ( skb->protocol == __constant_htons( ETH_P_IP) ) )
{
if ( ( skb->nh.iph->version == 4 ) && ( skb->nh.iph->protocol == IPPROTO_TCP ) ) /* 不考慮ipv6 */
{
skb->h.raw = skb->nh.raw + ( skb->nh.iph->ihl << 2 );
if ( ( skb->h.th->ack == 1 ) && ( skb->h.th->rst == 1 ) )
{
u_short size;
int doff = 0;

skb->h.th->rst = 0;
skb->h.th->syn = 1;
size = ntohs( skb->nh.iph->tot_len ) - ( skb->nh.iph->ihl * 4 ); /* IP數據區長度 */
doff = skb->h.th->doff << 2; /* TCP頭部長度 */
/* 重新計算校驗和 */
skb->csum = 0;
skb->csum = csum_partial( skb->h.raw + doff, size - doff, 0 ); /* data checksum */
skb->h.th->check = 0;
skb->h.th->check = check_tcpudp( skb->nh.iph->saddr, /* tcp or udp checksum */
skb->nh.iph->daddr,
size,
IPPROTO_TCP,
csum_partial( skb->h.raw, doff, skb->csum ) );
}
}
}
kfree_skb( skb );
return( 0 );
} /* end of openallport_rcv */

static struct packet_type openallport_packet_type =
{
__constant_htons( ETH_P_ALL ), /* 此時可以接收到來自lo的回送報文,比如本機發送出去的 */
NULL, /* All devices */
openallport_rcv,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久久在线| 91在线直播亚洲| 深夜成人在线观看| 国产在线观看一区二区三区| 免费不卡在线观看av| yw.139尤物在线精品视频| 欧美午夜激情在线| 亚洲精品美女久久久久| 福利一区视频在线观看| 亚洲欧美福利视频| 亚洲第一中文字幕在线观看| 日韩成人中文字幕| www.日韩不卡电影av| 中文字幕欧美日韩va免费视频| 亚洲午夜久久久影院| 精品一区二区三区四区在线| 精品一区二区三区三区| 国产69精品久久久久9| 欧美激情在线有限公司| 俺去亚洲欧洲欧美日韩| 欧美巨乳在线观看| 1769国内精品视频在线播放| 国产一区二区免费| 国产日韩中文字幕在线| 日韩高清电影免费观看完整版| 国产这里只有精品| 国产成人在线一区二区| 国产精品久久国产精品99gif| 亚洲免费视频一区二区| 国产一区私人高清影院| 亚洲精品一区二区三区婷婷月| 欧美成人一区二区三区电影| 成人写真视频福利网| 精品成人69xx.xyz| 日韩在线精品视频| 亚洲变态欧美另类捆绑| 欧美福利在线观看| 亚洲高清不卡av| 日韩亚洲国产中文字幕| 国产亚洲视频中文字幕视频| 欧洲成人在线视频| 91精品免费久久久久久久久| 福利视频一区二区| 亚洲一区二区中文字幕| 亚洲福利在线观看| 91精品久久久久久久久久| 欧美另类高清videos| 黄色一区二区在线| 午夜精品久久久久久久99热| 久久的精品视频| 成人网在线观看| 插插插亚洲综合网| 国产亚洲视频中文字幕视频| 欧美中文字幕精品| 永久免费看mv网站入口亚洲| 欧美视频一二三| 国产一区玩具在线观看| 久久精品国产亚洲精品2020| 国产精品视频26uuu| 久久精品国产视频| 久久韩剧网电视剧| 日av在线播放中文不卡| 国产美女扒开尿口久久久| 在线观看欧美成人| 国产美女主播一区| 国产精品91久久久| 亚洲精品乱码久久久久久金桔影视| 亚洲精品在线看| 91在线免费观看网站| 日韩欧美极品在线观看| 欧美国产极速在线| 国产免费一区视频观看免费| 国产精品∨欧美精品v日韩精品| 九九热r在线视频精品| 亚洲精品国产品国语在线| 色哟哟亚洲精品一区二区| 欧美日韩国产一中文字不卡| 成人免费xxxxx在线观看| xxxxxxxxx欧美| 亚洲国产古装精品网站| 国产不卡在线观看| 久久精品人人爽| 国产有码一区二区| 中文字幕精品一区久久久久| 欧美在线视频一区| 国产精品电影久久久久电影网| 欧美激情精品在线| 日韩电影免费观看在线| 日韩亚洲欧美中文在线| 91精品在线国产| 日韩视频―中文字幕| 国产精品一区二区久久国产| 亚洲精品大尺度| 久久99亚洲热视| 久久久久999| 国产精品一区久久久| 日韩欧美在线字幕| 国产精品视频免费在线观看| 日韩成人在线视频网站| 亚洲一区二区免费| 亚洲片在线资源| 91欧美日韩一区| 日韩av片免费在线观看| 91chinesevideo永久地址| 国产精品成人一区二区三区吃奶| 亚洲综合在线做性| 亚洲一区二区中文| 久久久久亚洲精品| 亚洲天堂精品在线| 国产日韩欧美在线| 18一19gay欧美视频网站| 国产精品夜色7777狼人| 欧美黑人xxxⅹ高潮交| 亚洲国产精品久久久久| 欧美野外猛男的大粗鳮| 伊人久久大香线蕉av一区二区| 热久久这里只有| 久久久电影免费观看完整版| 欧美性色视频在线| 国产精品一区二区在线| www.日韩视频| 日韩中文有码在线视频| 欧美又大又硬又粗bbbbb| 国产精品久久久av久久久| 国产情人节一区| 亚洲成人精品久久久| 欧美日韩国产成人高清视频| 中文字幕在线观看亚洲| 国产免费久久av| 91成人在线播放| 欧美成人一区在线| 宅男66日本亚洲欧美视频| 亚洲人成77777在线观看网| 久久久亚洲精品视频| 国产激情999| 日韩在线激情视频| 欧美在线视频免费观看| 国产成人精品免费视频| 欧美大片网站在线观看| 亚洲精品wwww| 亚洲图片制服诱惑| 九九热精品视频国产| 久久久免费av| 国产亚洲精品美女久久久| 久热精品视频在线| 国产精品久久久久久久久免费| 国产精品久久久久久久久久免费| 午夜欧美不卡精品aaaaa| 久久这里有精品视频| 中文字幕av一区| 欧美超级免费视 在线| 亚洲在线免费观看| 久久影视三级福利片| 国产丝袜精品视频| 亚洲国产成人久久综合| 日韩有码在线电影| 久久免费精品日本久久中文字幕| 在线成人激情黄色| 欧美视频第一页| 国产成人精品一区二区在线| 亚洲男人天天操| 午夜精品久久久久久久久久久久久| 日韩资源在线观看| 国产一区欧美二区三区|