✔️ CVE - 등록
CVE-2021-4222
CVE-2021-25117
CVE-2022-0728
예전에 프로젝트를 하면서 파일 시그니처를 검색 했었는데, 아주 좋은 자료가 있어서 다시 올림.!
http://forensic-proof.com/archives/300
파일 시그니처 모음 (Common File Signatures) | FORENSIC-PROOF
forensic-proof.com
E: Unable to locate package python3-pip Error (0) | 2022.02.25 |
---|---|
Notion2Tistory (0) | 2022.02.02 |
#README
해당 문제는 IAM 사용자가 있으며, 5가지의 정책 버전이 있습니다. IAM 사용자는 Raynor이며, Goal는 제한된 IAM 사용자로서 전체 관리자 권한을 획득하는 것입니다.
Step1.) cloudgoat 폴더에 접근 후 iam_privesc_by_rollback을 생성합니다. 생성 시 2번 째 그림과 같이 “Apply Complet” 메시지가 출력 됩니다.
Step2.) AWS 홈페이지 접근 시 사용자 이름 탭에 raynor-iam_privesc_by_rollback-cgidboiejabggd가 생성된 것을 확인할 수 있습니다.
Step3.) iam_privesc_by_rollback 폴더 접근 시 config들을 확인할 수 있으며 start.txt를 출력 시 “cloudgoat_output_policy_arn / cloudgoat_output_raynor_access_key_id / cloudgoat_output_raynor_secret_key / cloudgoat_output_username” AWS Key 값을 획득할 수 있었습니다.
Step4.) 위에서 획득한 Key 값을 이용하여 raynor 계정의 “access_key_id / secret_key” 값을 등록합니다.
Step5.) get-user 옵션을 사용하여 raynor 계정의 프로파일을 확인합니다. 프로파일 확인 시 UserName / UserID / Arn 정보를 확인할 수 있습니다. arn 정보를 보면 aws의 iam 정책을 사용 중이며 user 그룹 raynor를 확인할 수 있습니다.
Step5.) list-attched-user-policies 옵션은 지정된 IAM 사용자의 연결된 관리형 정책을 나열합니다. 즉 raynor 사용자를 지정 후 해당 옵션을 사용 시 raynor 계정의 정책을 확인할 수 있으며, 정책이름, 정책arn을 확인할 수 있습니다.
policyarn을 보면 aws의 iam 그리고 policy는 cg-raynor-policy-iam_privesc_by_rollback_cgidboiejabggd인 것을 확인할 수 있으며, IAM은 정책 버전은 최대 5개까지 생성/지원 되는 것을 확인할 수 있습니다.
Step6.) 위에서 확인된 정책 버전 5개 중 한 항목 중 “v1”에 취약 결점이 발견 됐습니다. v1을 보면 iam:SetDefaultPolicyVersion이 모든 리소스에 대해 setting 작업이 허용되어 있는 것이 문제가될 수 있습니다.
Step7.) 위에서 확인된 정책 버전 5개 중 한 항목씩 확인해본 결과 “v5”가 취약한 것으로 확인됩니다. 근거로 AWS 정책을 살펴 보겠습니다
Step8.) raynor 계정에서 모든 정책을 허용하고 있는 v5 정책을 사용하기 위해 “set-default-policy-version” 해당 옵션을 사용합니다.
Step9.) 위에서 정책 버전 v5가 지정된 상태이며, 임의의 계정 tester를 생성을 시도합니다.
Step10.) “Step9”에서 계정 생성 시 AWS 페이지에서 확인 결과 “tester”라는 계정이 생성된 것을 확인할 수 있습니다.
Pacu는 클라우드 환경에 대한 보안 테스트를 위한 오픈 소스 AWS 익스플로잇 프레임워크입니다. Rhino Security Labs에서 제작 및 관리합니다. Pacu는 AWS 계정 내의 구성 결함을 악용할 수 있으며 모듈을 사용하여 기능을 쉽게 확장할 수 있습니다. 현재 모듈은 사용자 권한 상승, IAM 사용자 백도어링, 취약한 Lambda 함수 공격 등 다양한 기능을 포함하고 있습니다.
Step11.) Pacu를 설치 후 실행 시 세션을 선택합니다. Pacu 최초 설치 시 등록된 세션이 없으니, 새로운 세션을 생성합니다.
Step11.) Pacu help 명령어 확인 시 “set-keys”라는 옵션을 사용합니다.
Step12.) “set-keys” 옵션을 입력 시 AWS 이용자와 access-key, secret-key를 입력합니다.
Step13.) “iam__enum_permissions”을 사용하여 tester에 대한 권한 목록을 수집 후 “iam__privesc_scan” 권한 상승 action을 탐색 했으나, 이미 관리자 권한을 가지고 있는 정책을 사용 중
※ 참고 문헌
IAM JSON 정책 요소: Action
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_elements_action.html
IAM JSON 정책 요소: Effect
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_elements_effect.html
IAM JSON 정책 요소: Resource
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_elements_resource.html
IAM 정책 요소: create-user
https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html
해당 문제 참고 자료
https://dnsdudrla97.github.io/cloud-service-vuln-2/
PACU - download
https://github.com/RhinoSecurityLabs/pacu
PACU - options
https://github.com/RhinoSecurityLabs/pacu/wiki/Module-Details
Cloud-Goat-Install (0) | 2022.03.01 |
---|
Step1.) 리눅스에서 git 명령어를 사용하여 cloudgoat 플랫폼을 내려받습니다.
Step2.) cloudgoat 폴더 접근 후 “cloudgoat.py” 777권한을 주고 /core/python/requirements.txt를 설치합니다.
Step1.) unzip 설치와, 리눅스 기반 TerraForm을 내려 받습니다.
Step2.) 내려받은 TerraForm의 압축을 해제 후 “/usr/local/bin” 경로로 옮깁니다.
Step1.) 서버에서 또는 서버로 데이터를 전송하기 위한 명령어 curl을 이용하여 AWS 인터페이스를 설치 후 awscliv2.zip를 압축 해제합니다.
Step2.) awscli를 설치합니다.
Step1.) cloudgoat의 프로파일을 설정합니다.
Step1-1.) 편의상 xxls라는 네이밍을 사용했는데 실습 시 xxls가 아닌 cloudgoat로 프로파일을 설정해야합니다.
Step2.) IP를 허용 목록에 추가합니다.
Step3.) 자신의 AWS 계정으로 접속 시 cloudgoat 프로파일이 생성된 것을 확인할 수 있음
Step3-1.) 실습 시 xxls가 아닌 cloudgoat로 프로파일이 설정되어 있어야합니다.
Step4.) AWS 프로필 구성합니다.
100. Iam_privesc_by_rollback (0) | 2022.03.03 |
---|
커맨드에서 이렇게 입력하면 해결!
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install python3-pip
파일 시그니처 모음 (0) | 2022.03.04 |
---|---|
Notion2Tistory (0) | 2022.02.02 |
Themida/2.0-2.4.6을 진행해 보았습니다, 패킹되는 Themida의 원리와 Unpack되는 원리는 정확하게 파악 하지 못 했지만.. UnPack에 의의를 두었습니다..
OllyDbg-v1.10 / StrongOD v0.4.8.892 / PhantOm v1.85 / ODBGScript v1.82.6 / ARImpRec.dll
Windows7(32bit) / Winlicense Ultra Unpacker Script
Step1) ***.exe를 ExeInfo로 확인 시 Themida/2.0-2.4.6으로 Packing된 것을 확인할 수 있습니다.
Step2) ***.exe를 IDA로 Load합니다.
Step3) ***.exe를 IDA로 Load 시 Themida/2.0-2.4.6으로 Packing 되어 함수가 정상 Load 되지 않는 것을 확인할 수 있습니다.
Step4) ***.exe를 OllyDBG로 Load합니다.
Step5) C:\OllyDbg 폴더 내 olldbg.ini 파일을 생성합니다.
Step6) OllDBG로 다시 돌아와 마우스 우클릭 후 “Run Script > Open”을 클릭합니다.
Step7.) 미리 준비된 “Themida-Unpacker-Script”를 Load합니다.
Step8) “Themida-Unpacker-Script”를 최초 Load 시 분석이 끝나면 Paused 상태가 됩니다.
Step9) Paused 상태에서 다시 마우스 우 클릭 후 Resume를 클릭합니다.
Step10) UnPack 중 Script 팝업 창 출력 시 “예”를 클릭합니다.
Step11) UnPack 완료 팝업 창이 출력되며, Packing 전/UnPack 후의 사이즈를 출력해주며 “확인”을 클릭합니다.
Step12) ***.exe 설치 폴더 확인 시 기존 “ ***.exe와 ***_DP.exe ”를 확인할 수 있습니다.
Step13) ***_DP.exe를 ExeInfo로 확인 시 Themida/2.0-2.4.6가 Unpack된 것을 확인할 수 있습니다.
Step14) ***_DP.exe를 IDA로 Load 시 Themida/2.0-2.4.6으로 UnPack 되어 함수가 정상 Load 되는 것을 확인할 수 있습니다.
※ 참조
Tistory블로그와 Notion을 이중으로 기록하고 있다..
비공개 자료는 당연 못 올리고, 필터하여 공개 가능한 자료만 올리고 있다.
당연히 Notion에서 Tstory로 게시글 옮기는 일은 너무 귀찮은 일이었다...
그러던 중 방법을 구색해봤다...
Notion에서 Tstory로 자료 옮기기.!
Notion2Tistory 제작자 분은 엄청난 기술자인게 틀림 없다,, 나 같은 귀차니즘을 가진 사람에게 이런 엄청난 자료를 무료로 배포해주셨다.. 아주 감사합니다.
Notion2Tistory의 자료는 아래 링크에서 받을 수 있으며, 사용법이 잘 정리 되어 있다.
https://www.notion.so/boltlessengineer/Notion2Tistory-f46185df1db14f8eb571d366b66c5e9c
파일 시그니처 모음 (0) | 2022.03.04 |
---|---|
E: Unable to locate package python3-pip Error (0) | 2022.02.25 |
아래 스크립트 사용 시 libc 라이브러리 내 존재하는 함수 주소 값을 불러옴
console.log("\n[*] Frida Get All Function's Address in libc.so with");
var i;
var Exports = Module.enumerateExports('libc.so');
for (i in Exports) {
console.warn('[*]' + Exports[i].name + ' : ' + Exports[i].address);
}
var Imports = Module.enumerateImports('libc.so');
for (i in Imports) {
console.log('[*]' + Imports[i].name + ' : ' + Imports[i].address);
}
아래는 스크립트 결과
AOS-ver 10과 Frida 15.1.4에서 스크립트 load 시
"failed to spawn: unexpectedly timed out while waiting for app to launch" 해당 오류가 발생되며
스크립트를 정상 로드할 수 없습니다.
해당 오류는 UASP로 인해 에러가 발생되는 걸로 확인
※ 결론 및 해결 방안
setTimeout(function () {
setImmediate(function () {
Java.perform(function () {
console.log();
})
})
},10);
CTF로 보는 Android Unity 게임 해킹 (0) | 2022.01.27 |
---|