OSCP/시험대비

Linux privsec 테크닉

우와해커 2020. 9. 29. 14:18


리눅스 manual 테크닉

https://sushant747.gitbooks.io/total-oscp-guide/content/privilege_escalation_-_linux.html


Kernel exploits

-다른 쳅터 참고


Programs running as root

>ps aux


Mysql root로 실행중이고 디비 접속 가능하다면 쉘 실행가능

select sys_exec('whoami');

select sys_eval('whoami');

+User Defined function


Installed software

- 설치되는 폴더가 넘 광범위함, 스크립트를 활용하거나 dpkg만....

# Debian

dpkg -l


Weak/reused/plaintext passwords

- DB가 저장된 웹소스, 설정파일 찾아보기

- DB에 저장된 계정의 비밀번호가 서버의 계정 비번으로 재사용되는지 체크

- /var/spool/mail(메일박스 뒤져보기)


Inside service (내부망만 접근 가능한 서비스)

해당 호스트에서만 사용할 수 있는 일부 서비스를 실행 중일 수 있습니다. 외부에서 서비스에 연결할 수 없습니다. 

개발 서버, 데이터베이스 또는 다른 것이 될 수 있습니다. 이러한 서비스는 루트로 실행 중이거나 취약점이 있을 수 있습니다. 

- netstat를 확인하고 외부에서 수행 한 nmap-scan과 비교하십시오. 내부에서 더 많은 서비스를 찾을 수 있습니까?

# Linux

netstat -anlp

netstat -ano


Suid misconfiguration

소유자 root, setuid 설정, 쉘전환 기능 있는 프로그램 또는 명령어도 공격될 수 있음

nmap, vim, less, more, nano, cp, mv, find


Abusing sudo-rights

>sudo -l 사용하여 exploit


World writable scripts invoked by root

- root에 의해 실행되는 스크립트, 일반유저가 편집이 가능한지

- 리버스쉘 스크립트로 편집하여 Exploit


Bad path configuration

- 바이너리의 path경로에 .이 존재

- Strings로 바이너리 문자열 체크

- PATH 변수 편집하여 tmp폴더에서 페이로드 실행되도록 만들기

- export PATH=.;$PATH


Cronjobs

- 아래 외에 봐야할 폴더가 더 있음, 스크립트로 체크하자.

crontab -l

ls -alh /var/spool/cron

ls -al /etc/ | grep cron

ls -al /etc/cron*


Unmounted filesystems

- 언마운트된 시스템을 찾은 후 다시 마운트하여 권한상승 될만한것을 찾아 볼 수 있음

> mount -l

> cat /etc/fstab


NFS Share

- NFS에 root_sqush같은 설정이 존재하면 원격 root 이름으로 파일 생성이 가능함

# First check if the target machine has any NFS shares

showmount -e 192.168.1.101


# If it does, then mount it to you filesystem

mount 192.168.1.101:/ /tmp/



World writable directorie

- 파일업로드 위치로 사용하면 됨

/tmp

/var/tmp

/dev/shm

/var/spool/vbox

/var/spool/samba



Privilege Escalation - Weak File Permissions

- 파일을 읽을 수 있고 Hash가 존재하는 경우

>cat /etc/passwd (마우스로 copy&pate로 로컬에 복사)

>cat /etc/shadow (마우스로 copy&pate로 로컬에 복사)

# unbshadow로 병합 후 브루트포싱

> unshadow <PASSWORD-FILE> <SHADOW-FILE> > unshadowed.txt

> hashcat -m 1800 unshadowed.txt rockyou.txt -O





Remote port forwarding

원격 포트 포워딩은 미쳤지만 매우 간단한 개념입니다.

당신은 컴퓨터에 접근했고 컴퓨터가 MYSQL처럼 실행 중이지만 localhost에서만 액세스 할 수 있다고 가정 해보십시오. 

당신은 엉터리 shell을 가지고 있기 때문에 그것에 접근 할 수 없습니다. 

그래서 우리가 할 수있는 것은 그 포트를 공격하는 컴퓨터로 전달하는 것입니다. 


파이썬이 설치되어있는 경우 (sshuttle을 사용해 리모트 포트포워딩을 손쉽게 셋팅할 수 있음)

sshuttle -r root@192.168.1.101 192.168.1.0/24


plink 사용

plink.exe -l root -pw mysecretpassword 192.168.0.101 -R 8080:127.0.0.1:8080

'OSCP > 시험대비' 카테고리의 다른 글

Windows privsec 테크닉  (0) 2020.09.28
OSCP 후기  (0) 2020.07.30
Manual SQL Injection for OSCP  (0) 2020.07.22
Enumeration for Escalation 스크립트 비교 (bat, exe, sh)  (0) 2020.07.17
Manual Privilege Escalation  (0) 2020.07.15