>운영 및 유지보수 >리눅스 운영 및 유지 관리 >궁극적인 Linux 침투 테스트 명령 요약

궁극적인 Linux 침투 테스트 명령 요약

小云云
小云云원래의
2018-01-23 10:47:344424검색

이 문서는 주로 궁극적인 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 배포판에 설치된 모든 패키지를 나열합니다.

Linux 사용자 관리

Command Description
useradd new-user 새 Linux 사용자를 생성합니다.
passwd 사용자 이름 Linux 사용자 비밀번호 재설정, 루트 사용자인 경우 비밀번호를 입력하세요.
deluser 사용자 이름 Linux 사용자를 삭제합니다.

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를 사용하세요.

Linux 압축 명령

명령 설명
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 파일을 만듭니다.

Linux 文件命令

命令 描述
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 不显示确认提示就删除文件和目录。

Samba 命令

从 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

 

打破 shell 的限制

要谢谢 G0tmi1k((或者他参考过的内容)。

Python 小技巧:

python -c 'import pty;pty.spawn("/bin/bash")'

 

echo os.system('/bin/bash')

 

/bin/sh -i

 

Misc 命令

命令 描述
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

 

Linux 文件系统权限

取值 意义
777 rwxrwxrwx 没有限制,完全可读可写可执行(RWX),用户可以做任何事情。
755 rwxr-xr-x 拥有者可完全访问,其他人只能读取和执行文件。
700 rwx------ 拥有者可完全访问,其他人都不能访问。
666 rw-rw-rw- 所有人可以读取和写入,但不可执行。
644 rw-r--r-- 拥有者可以读取和写入,其他人只可以读取。
600 rw------- 拥有者可以读取和写入,其他人都不能访问。

Linux 파일 시스템에 대한 침투 테스트 노트

디렉토리 설명
/ /은 "슬래시" 또는 루트라고도 합니다.
/bin 시스템, 시스템 관리자, 사용자가 공유하는 공통 프로그램입니다.
/boot 부트 파일, 부트 로더(grub), 커널, vmlinuz
/dev 에는 특수 속성이 있는 시스템 장치 및 파일에 대한 참조가 포함되어 있습니다.
/etc 중요한 시스템 구성 파일.
/home 시스템 사용자의 홈 디렉터리입니다.
/lib 라이브러리 파일에는 시스템과 사용자 모두에게 필요한 모든 유형의 프로그램에 대한 파일이 포함되어 있습니다.
/lost+found 실패한 파일 작업이 여기에 저장됩니다.
/mnt 외부 파일 시스템용 표준 마운트 지점입니다.
/media 외부 파일 시스템(또는 일부 배포판)을 위한 마운트 지점입니다.
/net 전체 원격 파일 시스템에 대한 표준 마운트 지점인 nfs.
/opt 에는 일반적으로 일부 추가 소프트웨어 또는 타사 소프트웨어가 포함되어 있습니다.
/proc 시스템 리소스와 관련된 정보가 포함된 가상 파일 시스템입니다.
/root 루트 사용자의 홈 디렉터리.
/sbin 시스템 및 시스템 관리자가 사용하는 프로그램입니다.
/tmp 다시 시작하면 시스템에서 사용하는 임시 공간이 지워집니다.
/usr 모든 사용자 관련 프로그램에 대한 프로그램, 라이브러리, 문서 등.
/var 로그 파일, 메일 대기열, 인쇄 스풀러, 웹 서버, 데이터베이스 등과 같이 사용자가 만든 모든 변수 파일과 임시 파일을 저장합니다.

Linux의 흥미로운 파일/디렉터리

권한 상승을 시도하거나 개발 후 수행을 수행하려는 경우 다음 명령을 확인해 보세요.

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 명령줄 요약

위 내용은 궁극적인 Linux 침투 테스트 명령 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.