반응형
1. 개요
Linux Exploit Suggester는 펄언어로 만들어진 리눅스 운영체제의 취약점을 점검하는 스크립트이다. Linux Exploit Suggester는 리눅스 운영체제의 커널 번호를 기준으로 Exploit 목록을 반환 한다.
2. 테스트 환경
테스트 OS : Kali Linux 1.0.5 - 커널 3.7-trunk-686-pae |
3. 다운로드 및 사용
- Linux Exploit Suggester 다운로드
Linux Exploit Suggester는 아래와 같이 다운로드 받은 후 압축을 풀어준다.
# wget https://github.com/PenturaLabs/Linux_Exploit_Suggester/archive/master.zip |
# unzip master.zip |
|
- Linux Exploit Suggester 사용
Linux Exploit Suggester는 아래와 같이 사용한다.
root@DarkSoul-Kali:~/Linux_Exploit_Suggester-master# ./Linux_Exploit_Suggester.pl |
Linux Exploit Suggester가 리눅스 운영체제의 커널 번호를 확인하면, 아래와 같이 점검 대상 리눅스 운영체제에 사용가능한 익스플로잇 정보 (익스플로잇 내용 및 해당 익스플로잇 소스코드) 를 출력해준다.
만약 커널 번호를 수동으로 입력하고자 한다면 [-k] 옵션을 적용 후 커널 번호를 입력하면 된다.
root@DarkSoul-Kali:~/Linux_Exploit_Suggester-master# ./Linux_Exploit_Suggester.pl -k 2.6.14 |
4. 소스코드
Linux Exploit Suggester의 소스코드를 잠시 살펴 보자. 아래의 소스코드는 취약점 점검 대상 리눅스 운영체제의 커널 번호를 확인하는 소스코드로, [uname -r] 명령어와 옵션을 사용하여 커널 번호를 확인한다.
50 sub get_kernel { 51 my $khost = ''; 52 53 if ( exists $opts{k} ) { 54 $khost = $opts{k}; 55 } 56 else { 57 $khost = `uname -r |cut -d"-" -f1`; 58 chomp $khost; 59 } 60 61 # partial kernels might be provided by the user, 62 # such as '2.4' or '2.6.' 63 my $is_partial = $khost =~ /^\d+\.\d+\.\d/ ? 0 : 1; 64 if ( $is_partial and substr($khost,-1) ne '.' ) { 65 $khost .= '.'; 66 } 67 return ( $khost, $is_partial ); 68 } |
아래 소스코드는 리눅스 운영체제의 커널 번호들과 사용가능한 익스플로잇 정보들이 나열되어 있어 앞서 확인한 커널번호와 매칭이 되는 번호가 있으면 해당 내용을 출력해준다.
84 sub get_exploits { 85 return ( 86 'w00t' => { 87 vuln => [ 88 '2.4.10', '2.4.16', '2.4.17', '2.4.18', 89 '2.4.19', '2.4.20', '2.4.21', 90 ] 91 }, 92 'brk' => { 93 vuln => [ '2.4.10', '2.4.18', '2.4.19', '2.4.20', '2.4.21', 2.4.22' ], 94 }, 95 'ave' => { vuln => [ '2.4.19', '2.4.20' ] }, 96 97 'elflbl' => { 98 vuln => ['2.4.29'], 99 mil => 'http://www.exploit-db.com/exploits/744/', 100 }, 101 102 'elfdump' => { vuln => ['2.4.27'] }, 103 'elfcd' => { vuln => ['2.6.12'] }, 104 'expand_stack' => { vuln => ['2.4.29'] }, 105 106 'h00lyshit' => { 107 vuln => [ 108 '2.6.8', '2.6.10', '2.6.11', '2.6.12', 109 '2.6.13', '2.6.14', '2.6.15', '2.6.16', 110 ], 111 cve => '2006-3626', 112 mil => 'http://www.exploit-db.com/exploits/2013/', 113 }, 114 115 'kdump' => { vuln => ['2.6.13'] }, 116 'km2' => { vuln => [ '2.4.18', '2.4.22' ] }, 117 'krad' => 118 { vuln => [ '2.6.5', '2.6.7', '2.6.8', '2.6.9', '2.6.10', '2.6.11' ] }, 119 120 'krad3' => { 121 vuln => [ '2.6.5', '2.6.7', '2.6.8', '2.6.9', '2.6.10', '2.6.11' ], 122 mil => 'http://exploit-db.com/exploits/1397', 123 }, 124 125 'local26' => { vuln => ['2.6.13'] }, 126 'loko' => { vuln => [ '2.4.22', '2.4.23', '2.4.24' ] }, 127 128 'mremap_pte' => { 129 vuln => [ '2.4.20', '2.2.24', '2.4.25', '2.4.26', '2.4.27' ], 130 mil => 'http://www.exploit-db.com/exploits/160/', 131 }, 132 |
| 참고
반응형
'Infomation' 카테고리의 다른 글
야후 광고 (이미지내) 악성코드 유포 관련 (0) | 2014.01.06 |
---|---|
[Debian] libc6 버전 2.13 이상 사용하고 싶다면? (0) | 2014.01.03 |
Smartphone-Pentest-Framework (SPF) - Console (7) (0) | 2013.12.28 |
Smartphone-Pentest-Framework (SPF) - Console (10) (0) | 2013.12.28 |
Smartphone-Pentest-Framework (SPF) - Console (8) (0) | 2013.12.27 |