이 문서는 주로 궁극적인 Linux 침투 테스트 명령에 대한 요약을 공유합니다. 다음은 Linux 시스템에 대한 침투 테스트 메모입니다. 이는 향후 개발 중이나 명령 주입 및 기타 작업을 수행할 때 사용되는 몇 가지 일반적인 명령입니다. 로컬 열거 검사를 수행하는 테스터를 사용합니다.
Command | Description |
---|---|
netstat -tulpn | Linux의 프로세스 ID(PID)에 해당하는 네트워크 포트를 표시합니다. |
watch ss -stplu | 소켓을 통해 TCP, UDP 포트를 실시간으로 감시하세요. |
lsof -i | 확인된 연결을 표시합니다. |
macchanger -m MACADDR INTR | KALI Linux에서 MAC 주소를 변경하세요. |
ifconfig eth0 192.168.2.1/24 | Linux에서 ID 주소를 설정합니다. |
ifconfig eth0:1 192.168.2.3/24 | Linux의 기존 네트워크 인터페이스에 IP 주소를 추가합니다. |
ifconfig eth0 hw ether MACADDR | ifconfig를 사용하여 Linux에서 MAC 주소를 수정하세요. |
ifconfig eth0 mtu 1500 | Linux에서 ifconfig를 사용하여 MTU 크기를 수정하고 1500을 원하는 MTU로 변경하세요. |
dig -x 192.168.1.1 | IP 주소의 역방향 조회를 수행합니다. |
host 192.168.1.1 | IP 주소에 대한 역방향 조회를 수행하며, dig가 설치되지 않은 상황에 적합합니다. |
dig @192.168.2.2 domain.com -t AXFR | dig를 사용하여 DNS 영역 전송을 수행하세요. |
host -l domain.com nameserver | host를 사용하여 DNS 영역 전송을 수행하세요. |
nbtstat -A x.x.x.x | IP 주소에 해당하는 도메인 이름을 가져옵니다. |
ip addr add 192.168.2.22/24 dev eth0 | ifconfig 명령을 실행할 때 표시되지 않는 숨겨진 IP 주소를 Linux에 추가합니다. |
tcpkill -9 호스트 google.com | 호스트에서 google.com에 대한 액세스를 차단합니다. |
echo "1" > /proc/sys/net/ipv4/ip_forward | IP 전달을 활성화하고 Linux 상자를 라우터로 전환하세요. 이렇게 하면 이 상자를 통해 라우팅 트래픽을 더 쉽게 제어할 수 있습니다. |
echo "8.8.8.8" > /etc/resolv.conf | Google의 DNS를 사용하세요. |
은 로컬 열거 검사에 유용합니다.
Command | Description |
---|---|
whoami | 현재 Linux에 로그인한 사용자를 표시합니다. |
id | 현재 로그인한 사용자와 그룹을 표시합니다. |
last | 마지막으로 로그인한 사용자를 표시합니다. |
mount | 마운트된 드라이버를 표시합니다. |
df -h | 사람이 읽을 수 있는 출력으로 디스크 사용량을 표시합니다. |
echo "user:passwd" | chpasswd | 한 줄 명령으로 비밀번호를 재설정하세요. |
getent passwd | Linux의 사용자 목록을 표시합니다. |
strings /usr/local/bin/blah | 텍스트가 아닌 파일의 내용을 표시합니다(예: 바이너리 파일 내부 내용). |
uname -ar | 은 실행 중인 커널 버전을 표시합니다. |
PATH=$PATH:/my/new-path | 로컬 파일 시스템(FS) 작업을 용이하게 하려면 새 경로를 추가하세요. |
history | 사용자가 이전에 실행한 bash 스크립트의 기록과 입력한 명령을 표시합니다. |
Redhat/CentOS/RPM 기반 배포
Command | Description |
---|---|
cat /etc/redhat-release | Redhat/CentOS 버전 번호를 표시합니다. |
rpm -qa | RPM 기반 Linux에 설치된 모든 RPM 패키지를 나열합니다. |
rpm -q --changelog openvpn | 설치된 RPM이 CVE용으로 패치되었는지 확인합니다. grep 명령을 사용하여 CVE와 관련된 출력을 필터링할 수 있습니다. |
YUM 명령
RPM 기반 시스템은 패키지 관리자를 사용하여 설치된 패키지나 기타 도구에 대한 유용한 정보를 얻을 수 있습니다.
Command | Description |
---|---|
yum update | YUM을 사용하여 모든 RPM 패키지를 업데이트하면 오래된 패키지도 표시됩니다. |
yum update httpd | 개별 패키지(이 경우 HTTPD(Apache))를 업데이트합니다. |
yum 설치 패키지 | YUM을 사용하여 패키지를 설치하세요. |
yum --exclude=패키지 커널* 업데이트 | YUM을 사용할 때 업데이트에서 패키지를 제외합니다. |
yum 패키지 제거 | YUM을 사용하여 패키지를 제거하세요. |
yum 패키지 삭제 | YUM을 사용하여 패키지를 삭제하세요. |
yum 목록 패키지 | yum 패키지에 대한 정보를 나열합니다. |
yum은 httpd | 를 제공합니다. 패키지의 목적을 표시합니다(예: Apache HTTPD 서버). |
yum info httpd | 패키지 정보, 아키텍처, 버전 및 기타 정보를 표시합니다. |
yum localinstall blah.rpm | YUM을 사용하여 로컬 RPM을 설치하고 저장소에서 설치하세요. |
yum deplist package | 패키지의 공급자 정보를 표시합니다. |
yum 목록 설치됨 | more | 설치된 모든 패키지를 나열합니다. |
yum 그룹 목록 | more | 모든 YUM 그룹을 표시합니다. |
yum groupinstall '개발 도구' | YUM 그룹을 설치하세요. |
Debian / Ubuntu / .deb 기반 배포판
명령 | 설명 |
---|---|
cat /etc/debian_version | Debian 버전 번호를 표시합니다. |
cat /etc/*-release | Ubuntu 버전 번호를 표시합니다. |
dpkg -l | Debian/.deb 기반 Linux 배포판에 설치된 모든 패키지를 나열합니다. |
Command | Description |
---|---|
useradd new-user | 새 Linux 사용자를 생성합니다. |
passwd 사용자 이름 | Linux 사용자 비밀번호 재설정, 루트 사용자인 경우 비밀번호를 입력하세요. |
deluser 사용자 이름 | Linux 사용자를 삭제합니다. |
Linux에서 다양한 압축 패키지(tar, zip, gzip, bzip2 등)를 구문 분석하는 방법과 압축 패키지 검색에 대한 기타 팁.
Command | Description |
---|---|
unzip archive.zip | Linux에서 zip 아카이브의 파일을 추출합니다. |
zipgrep *.txt archive.zip | zip 아카이브에서 검색하세요. |
tar xf archive.tar | Linux의 tarball에서 파일을 추출합니다. |
tar xvzf archive.tar.gz | Linux에서 tar.gz 패키지의 파일을 추출합니다. |
tar xjf archive.tar.bz2 | Linux에서 tar.bz2 패키지의 파일을 추출합니다. |
tar ztvf file.tar.gz | grep blah | tar.gz 파일에서 검색하세요. |
gzip -d archive.gz | Linux의 gzip에서 파일을 추출합니다. |
zcat archive.gz | 압축 해제 없이 Linux에서 gz 파일을 읽습니다. |
zless archive.gz | .gz 압축 패키지와 동일한 기능을 달성하려면 더 적은 수의 명령을 사용하세요. |
zgrep 'blah' /var/log/maillog*.gz | 압축 로그 파일 검색 등 Linux에서 .gz 압축 패키지의 내용을 검색합니다. |
vim file.txt.gz | vim을 사용하여 .txt.gz 파일을 읽습니다(개인적으로 가장 좋아하는 파일). |
upx -9 -o output.exe input.exe | Linux에서 .exe 파일을 압축하려면 UPX를 사용하세요. |
명령 | 설명 |
---|---|
zip -r file.zip /dir/* | Linux에서 .zip 파일을 만듭니다. |
tar cf archive.tar 파일 | Linux에서 tar 파일을 만듭니다. |
tar czf archive.tar.gz 파일 | Linux에서 tar.gz 파일을 만듭니다. |
tar cjf archive.tar.bz2 파일 | Linux에서 tar.bz2 파일을 만듭니다. |
gzip 파일 | Linux에서 .gz 파일을 만듭니다. |
命令 | 描述 |
---|---|
df -h blah | 在 Linux 上显示文件/目录的大小。 |
diff file1 file2 | 在 Linux 上比对/显示两个文件之间的差别。 |
md5sum file | 在 Linux 上生成 MD5 摘要。 |
md5sum -c blah.iso.md5 | 在 Linux 上检查文件的 MD5 摘要,这里假设文件和 .md5 处在相同的路径下。 |
file blah | 在 Linux 上查找出文件的类型,也会将文件是 32 还是 64 位显示出来。 |
dos2unix | 将 Windows 的行结束符转成 Unix/Linux 的。 |
base64 < input-file > output-file | 对输入文件进行 Base64 编码,然后输出一个叫做 output-file 的 Base64 编码文件。 |
base64 -d < input-file > output-file | 对输入文件进行 Base64 解码,然后输出一个叫做 output-file 的 Base64 解码文件。 |
touch -r ref-file new-file | 使用来自于引用文件的时间戳数据创建一个新文件,放上 -r 以简单地创建一个文件。 |
rm -rf | 不显示确认提示就删除文件和目录。 |
从 Linux 连接到 Samba 共享。
$ smbmount //server/share /mnt/win -o user=username,password=password1 $ smbclient -U user \\\\server\\share $ mount -t cifs -o username=user,password=password //x.x.x.x/share /mnt/share
要谢谢 G0tmi1k((或者他参考过的内容)。
Python 小技巧:
python -c 'import pty;pty.spawn("/bin/bash")'
echo os.system('/bin/bash')
/bin/sh -i
命令 | 描述 |
---|---|
init 6 | 从命令行重启 Linux 。 |
gcc -o output.c input.c | 编译 C 代码。 |
gcc -m32 -o output.c input.c | 交叉编译 C 代码,在 64 位 Linux 上将编译出 32 位的二进制文件。 |
unset HISTORYFILE | 关闭 bash 历史日志记录功能。 |
rdesktop X.X.X.X | 从 Linux 连接到 RDP 服务器。 |
kill -9 $$ | 关掉当前的会话。 |
chown user:group blah | 修改文件或者目录的所有者。 |
chown -R user:group blah | 修改文件或者目录,以及目录下面文件/目录的拥有者 —— 递归执行 chown。 |
chmod 600 file | 修改文件/目录的权限设定, 详情见 [Linux 文件系统权限](#linux-file-system-permissions) 。 |
清除 bash 历史:
$ ssh user@X.X.X.X | cat /dev/null > ~/.bash_history
取值 | 意义 |
---|---|
777 | rwxrwxrwx 没有限制,完全可读可写可执行(RWX),用户可以做任何事情。 |
755 | rwxr-xr-x 拥有者可完全访问,其他人只能读取和执行文件。 |
700 | rwx------ 拥有者可完全访问,其他人都不能访问。 |
666 | rw-rw-rw- 所有人可以读取和写入,但不可执行。 |
644 | rw-r--r-- 拥有者可以读取和写入,其他人只可以读取。 |
600 | rw------- 拥有者可以读取和写入,其他人都不能访问。 |
디렉토리 | 설명 |
---|---|
/ | /은 "슬래시" 또는 루트라고도 합니다. |
/bin | 시스템, 시스템 관리자, 사용자가 공유하는 공통 프로그램입니다. |
/boot | 부트 파일, 부트 로더(grub), 커널, vmlinuz |
/dev | 에는 특수 속성이 있는 시스템 장치 및 파일에 대한 참조가 포함되어 있습니다. |
/etc | 중요한 시스템 구성 파일. |
/home | 시스템 사용자의 홈 디렉터리입니다. |
/lib | 라이브러리 파일에는 시스템과 사용자 모두에게 필요한 모든 유형의 프로그램에 대한 파일이 포함되어 있습니다. |
/lost+found | 실패한 파일 작업이 여기에 저장됩니다. |
/mnt | 외부 파일 시스템용 표준 마운트 지점입니다. |
/media | 외부 파일 시스템(또는 일부 배포판)을 위한 마운트 지점입니다. |
/net | 전체 원격 파일 시스템에 대한 표준 마운트 지점인 nfs. |
/opt | 에는 일반적으로 일부 추가 소프트웨어 또는 타사 소프트웨어가 포함되어 있습니다. |
/proc | 시스템 리소스와 관련된 정보가 포함된 가상 파일 시스템입니다. |
/root | 루트 사용자의 홈 디렉터리. |
/sbin | 시스템 및 시스템 관리자가 사용하는 프로그램입니다. |
/tmp | 다시 시작하면 시스템에서 사용하는 임시 공간이 지워집니다. |
/usr | 모든 사용자 관련 프로그램에 대한 프로그램, 라이브러리, 문서 등. |
/var | 로그 파일, 메일 대기열, 인쇄 스풀러, 웹 서버, 데이터베이스 등과 같이 사용자가 만든 모든 변수 파일과 임시 파일을 저장합니다. |
권한 상승을 시도하거나 개발 후 수행을 수행하려는 경우 다음 명령을 확인해 보세요.
Path | Description |
---|---|
/etc/passwd | 로컬 Linux 사용자를 포함합니다. |
/etc/shadow | 에는 해시된 로컬 계정 비밀번호가 포함되어 있습니다. |
/etc/group | 에는 로컬 계정 그룹이 포함되어 있습니다. |
/etc/init.d/ | 에는 서비스 네트워크 초기화 스크립트가 포함되어 있습니다. 무엇이 설치되어 있는지 살펴볼 가치가 있습니다. |
/etc/hostname | 시스템의 호스트 이름입니다. |
/etc/network/interfaces | 네트워크 인터페이스. |
/etc/resolv.conf | 시스템 DNS 서비스. |
/etc/profile | 시스템 환경 변수. |
~/.ssh/ | SSH 키. |
~/.bash_history | 사용자의 bash 기록 로그. |
/var/log/ | Linux 시스템 로그 파일은 일반적으로 여기에 저장됩니다. |
/var/adm/ | UNIX 시스템 로그 파일은 일반적으로 여기에 저장됩니다. |
/var/log/httpd/access.log |
Apache 액세스 로그 파일이 존재하는 일반적인 경로입니다. |
/etc/fstab | 마운트된 파일 시스템. |
관련 권장 사항:
mysql 생성, 사용자 삭제 및 권한 부여(리눅스 테스트)_MySQL
리눅스에서 sed 명령 및 awk 명령을 사용하는 방법
위 내용은 궁극적인 Linux 침투 테스트 명령 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!