渗透测试中常用的系统命令详解(持续更新)
一、window系统命令
1、type
用法 | 示例 |
---|---|
TYPE [drive:][path]filename | type c:\windows\win.ini |
查看文件内容:type c:\windows\win.ini
新建空白文件:type nul >test.txt
或者 echo.>test.txt
2、统计文件行数
type filename | find /v /v ""
3、计算文件md5、hash值
1) certutil
certutil -hashfile 路径/file.exe MD5
certutil -hashfile 路径/file.exe SHA256
certutil -hashfile 路径/file.exe SHA1
2) powershell Get-FileHash
利用powershell
Get-FileHash 文件名 -Algorithm 算法名
支持的算法如下:
MACTripleDES、MD5、RIPEMD160、SHA1、SHA256、SHA384、SHA512
4、dir 查看文件及目录
5、查找文件
1) 使用dir命令查找文件
dir /s *foo*
在当前及子目录中查找secret.doc文件
dir secret.doc /s /p
2) where
示例:
WHERE /?
WHERE myfilename1 myfile????.*
WHERE $windir:*.*
WHERE /R c:\windows *.exe *.dll *.bat
WHERE /Q ??.???
WHERE "c:\windows;c:\windows\system32:*.dll"
WHERE /F /T *.dll
6、查找文件中的字符串
1) findstr
查找 c:\documents\目录下包含windows字符的文件
findstr "windows" c:\documents\*.*
示例:
显示字符串You don’t have permissions to browse server.在指定目录及子目录文件夹下文件中出现的位置及行数
findstr /S /I /N /C:"You don't have permissions to browse server." E:\phpStudy\PHPTutorial\WWW\kcfinder\*.*
2) find
find [switches] “string” [pathname/s]
find "examples" "C:\Users\Lori\Documents\FindCommandExamples\example1.txt"
7、set 查看环境变量
8、文件操作命令
1)move 移动文件
2)mkdir 创建目录
3)del 删除文件/目录
4)新建文件
新建空白文件:type nul >test.txt
或者 echo.>test.txt
追加内容到文件使用两个字符“>”,ex:type something >>test.txt
9、修改DOS编码命令,正常显示中文
chcp 当前编码
chcp 65001 就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语
10、操作进程
查看进程
tasklist /svc
找到进程对应的pid,然后结束对应pid的进程
taskkill /f /pid 8164
/f参数,强制结束进程
二、Linux命令
1、man命令 查看帮助信息
格式:man 需要查看的命令
man命令提供了大量的帮助信息,一般分为以下4个部分。
NAME:对命令的简单说明
SYNOPSIS:命令的使用格式说明
DESCRIPTION:命令的详细使用说明
OPTIONS:命令各选项的说明
2、date命令:显示时间
date命令用于显示和更改系统日期和时间
3、hostname命令 主机名
hostname用于显示系统主机名,也可以用于修改系统主机名,但系统重启后更改会丢失
4、exit
退出shell会话
5、history 查看历史命令
history命令用于显示系统的历史命令列表,默认保留最近500条命令,列表从零开始编号,使用history ! 命令编号 可快速重新执行该编号对应的命令。
history -c 清除历史命令记录
6、pwd 当前目录
在命令行中不知道当前所处目录,执行pwd命令查看
7、ls 列出目录和文件
示例:
ls /root 查看root目录下文件
ls -la /root 查看root目录下的文件和目录详细属性
8、cat命令 显示文件内容
命令格式:cat filename
类似命令还有tac,more,less,其中less命令查看文件,可以上下滚动查看,比较方便,按Q键退出查看。
9、touch 创建文件
用于创建一个内容为空的文件
exp:创建一个文件名为file1的空文件 touch file1
10、whoami和who命令 查看用户
whoami 查看当前用户
who 查看已经登陆系统的用户,只显示最初登入的用户,登入后使用su命令切换的用户不会显示
11、su命令 切换用户
切换当前用户,由普通用户切换到其他用户需要输入切换用户的口令,如果是root用户,则无需口令,使用exit命令会退回到原来的用户会话
12、grep命令 过滤信息
grep命令用于从文件或命令输出的内容中寻找满足条件的行数据。
查看file1文件中包含sam的行:grep sam file1
查看file1文件中不包含sam的行:grep -v sam file1
查看file1文件中包含sam或ken的行:grep -E “sam|ken” file1
13、wc命令 统计
wc命令用于统计一个文件的行数、单词数和字节数。
wc file1
第一列为文件行数
第二列为文件内容的单词数
第三列为文件的字节数
第四列为文件名
只统计文件行数:wc -l file1
14、计算文件hash值
md5sum filename
sha1sum filename
sha256sum filename
sha512sum filename
shasum filename
sha224sum filename
sha384sum filename
三、便捷命令
1、快速开启web服务器
php -S 0.0.0.0:9000
python3 -m http.server 9000
python2 -m SimpleHTTPServer 9000
2、快速监听一个socks端口
nc -lnvp 9000
nc -ul -p 53
3、快速链接一个socks端口
nc ip port
nc -u ip port
4、工具使用
Java脚本
javac script.java && java script
jar程序
java -jar script.jar
Python脚本
python script.py args
Ruby脚本
ruby script.rb args
php脚本
php script.php args