ユーザー1C 8の役割の変更(ファイルオプション)

1C Enterpriseファイルデータベースへのアクセスを復元する必要があるとします。 原則として、このような場合、いくつかのパスワード操作が実行されます(ブルートフォースまたはリセット)。 Menaは、タスクを少し複雑にし、他の方法、つまり管理者特権を通常のユーザーに割り当てることを望んでいました。



まず、1Cファイル形式について読むことをお勧めします。 ここでできます



したがって、16進エディタが必要です。 私はHIEWを使用しました。 エディターを起動して、1Cv8.1CDファイルを開きます。 オフセット0x4000に移動します-これはルート構成オブジェクトです。 ベース言語コードの最初の32バイト。 次に、ブロックの数(4バイト)、および実際にはブロック自体のアドレス。 V8USERSテーブルの検索を開始します。 ブロック7にありました。つまり、オフセットが0x8E000(00 00 00 8E 000、右から左に読み取られ、末尾に000が追加されます)でした。







この住所に行って見る







0x91000に移動すると、







そして、すでにアドレス0x92000にテーブルの説明があります。 上記の記事で説明したように、フィールドの長さを計算できます。レコード長は697(0x2B9)バイトで、DATAフィールドオフセットは678(0x2A6)バイトです。
非表示のテキスト
(V8USERSはサービステーブルであるため、これは私が検討したすべての構成に当てはまり、おそらく各構成で一般的に同じでした)


表の説明の最後に、3つの数字があります。 最初はデータのアドレス、2番目はBlobデータのアドレス、3番目はインデックスです。







143 = 0x8F(データアドレス0x8F000)、144 = 0x90(Blobデータのアドレス0x90000)。



データに行きます。 そこで、彼らは私たちを0x193000に送り、次に0x194000に送ります(ところで、私のような1つのブロックではなく、いくつかのブロックがあるかもしれません。それはユーザーの数に依存します)。











これはデータテーブルV8USERSにあります。 697バイトの長さの最初のブロックは空です。次に空のユーザーがいて、次に管理ユーザーがいました。
非表示のテキスト
(HIEWで次のユーザーF5に移動し、+ 2B9)








別の0x2A6バイトを移動してみましょう。 これは、ブロブデータ内のブロック番号です。







次に、Blobデータ(0x90000)に移動します。 そこから0x195000に移動し、次に0x196000に移動します。



Blobデータのゼロブロックは空です(ブロックサイズは256(0xFF)バイト、最初の4バイトは次のブロックのアドレス、データが1つのブロックに収まらない場合、2バイトはブロックサイズ、残りはデータ自体です) 2番目のブロックが必要です。
非表示のテキスト
(0x196000 + 0x100 + 0x100)








このデータをファイルにコピーし(HIEWでF2を押します)、次のブロックに進みます。







データを同じファイルにコピーします。
非表示のテキスト
(HIEWの場合、オフセット0xFAを指定することを忘れないでください)。




パスワードがわかっているユーザーと同じ操作を実行します。 結果のファイルは、 このプログラムを使用し開くことができます( 復号アルゴリズムについてユーザーDeckerに感謝します



このようなファイルが2つあります











原則として、ユーザーロールを管理者ロールに置き換えることができます。 この場合、レコードサイズは変更されませんが、ユーザーにadminロールを追加しました。







次に、それをファイルに保存し、エディターを使用してデータを1Cv8.1cdにコピーし、それらを取得したブロックと同じブロックに入れます。 250(00-F9)単位でコピーすることに注意してください。 私の場合のように、データサイズが変更された場合、最後のブロックのサイズを変更することを忘れないでください。 別のブロックを追加する必要がある場合は、空きブロックを見つけてその番号を示す必要があります。

すべてが順調に進んだ場合(最初に成功しなかったため、バックアップ、バックアップ、およびバックアップ)、ユーザーアカウントでログインできます。これで完全な権限が付与されました。



同じ手法を使用して、ユーザーのパスワードのハッシュを取得して、暗号化解除または置換することができます。 彼がいる。







そして最後に。 この記事をハッキングガイドと見なさないでください。 インターネットには、2バイトを変更してデータへの不正アクセスを取得する方法に関する情報がたくさんあります。 より高速で簡単です。 損傷したデータベースを復元する際に便利な低レベルでベーステーブルを操作する原理を示しました。



All Articles